From b9824967392e4b674881e5dcec4c4fbb05e6cd9b Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Sun, 5 Aug 2018 23:23:12 +0900 Subject: Add support for Dotty projects (#397) * Abstract over the scala compiler organization * Support using a locally published compiler Publishing locally with sbt means publishing ivy-style, which uses a different naming convention than maven, we now handle both cases. * Add minimal support for Dotty projects * Rewrite scalalib.Dep, introduce scalalib.CrossVersion Instead of Dep being a trait with three cases (Java/Scala/Point), it is now a case class where the cross field is an instance of the CrossVersion trait which has three cases (Constant/Binary/Full). This is more versatile since it allows for non-empty constant suffixes which will be used to implement withDottyCompat in the next commit. It's also a cleaner separation of concerns. We also deduplicate various pieces of codes that computed the artifact name: this is now always handled in Dep and CrossVersion. * Add simple way to use Scala 2 deps in a Dotty project This is similar to the withDottyCompat method in the sbt-dotty plugin. * Turn off the Dotty test on Java >= 9 --- integration/test/resources/play-json/build.sc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'integration/test/resources/play-json') diff --git a/integration/test/resources/play-json/build.sc b/integration/test/resources/play-json/build.sc index c60eefba..d4557011 100644 --- a/integration/test/resources/play-json/build.sc +++ b/integration/test/resources/play-json/build.sc @@ -61,7 +61,7 @@ abstract class PlayJson(val platformSegment: String) extends PlayJsonModule { ) def ivyDeps = Agg( - ivy"org.scala-lang:scala-reflect:${scalaVersion()}", + ivy"${scalaOrganization()}:scala-reflect:${scalaVersion()}", ivy"org.typelevel::macro-compat::1.1.1" ) @@ -69,7 +69,7 @@ abstract class PlayJson(val platformSegment: String) extends PlayJsonModule { def compileIvyDeps = Agg( macroParadise, - ivy"org.scala-lang:scala-compiler:${scalaVersion()}" + ivy"${scalaOrganization()}:scala-compiler:${scalaVersion()}" ) def scalacPluginIvyDeps = Agg(macroParadise) -- cgit v1.2.3