Comcast / sirius

A distributed system library for managing application reference data
http://comcast.github.io/sirius/
Apache License 2.0
298 stars 49 forks source link

Migrate to Scala 2.12 #135

Closed HaloFour closed 5 years ago

HaloFour commented 5 years ago

Migrate Sirius to Scala 2.12 with cross build support for Scala 2.11.

The com.github.scala-incubator.io:scala-io-file dependency no longer appears maintained and neither do any of its forks. It uses features that no longer work under Scala 2.12 (attempting to force Sirius to compile/run with this dependency resulted in NoSuchMethodException).

HaloFour commented 5 years ago

Looks like there's a bit of a race condition in the LastLivenessDetected test in MembershipActorTest

HaloFour commented 5 years ago

@pauljamescleary

Thanks! I would certainly appreciate any comments regarding idiomatic Scala patterns in any of my changes here.

HaloFour commented 5 years ago

As mentioned in Slack chat with @clinedome the shutdown->terminate changes came about as I originally updated Akka to 2.5.x thinking that's the version I'd need for Scala 2.12. I did find that latter versions of Akka 2.4.x support Scala 2.12 as well and that still has the deprecated shutdown/awaitTermination methods. So if we were interested in less churn in this PR I could revert those changes.

HaloFour commented 5 years ago

Any further feedback for this PR?

Also, I'm not terribly familiar with sbt so I don't know that I have made the necessary changes to actually publish both a Scala 2.11 and Scala 2.12 version, so I'd welcome feedback there.

HaloFour commented 5 years ago

Ping?