summaryrefslogtreecommitdiff
path: root/build.sbt
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-12-05 07:47:18 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-12-05 07:47:18 -0800
commit0268dd235dd7ffd75dcff5da6dfcaedfa37cf95e (patch)
tree5a1e83fe34ffc0b76a7e82e7ba53457f0f04f56b /build.sbt
parentb1df0b98612957b98aacabd5dbe38c98e748c660 (diff)
parent395a856d91b318957963ab24011862653452a101 (diff)
downloadmill-0268dd235dd7ffd75dcff5da6dfcaedfa37cf95e.tar.gz
mill-0268dd235dd7ffd75dcff5da6dfcaedfa37cf95e.tar.bz2
mill-0268dd235dd7ffd75dcff5da6dfcaedfa37cf95e.zip
merge cross-bridge into master
Diffstat (limited to 'build.sbt')
-rw-r--r--build.sbt63
1 files changed, 62 insertions, 1 deletions
diff --git a/build.sbt b/build.sbt
index 3031ffef..3002eeb7 100644
--- a/build.sbt
+++ b/build.sbt
@@ -35,6 +35,54 @@ val sharedSettings = Seq(
)
+def bridge(bridgeVersion: String) = Project(
+ id = "bridge" + bridgeVersion.replace('.', '_'),
+ base = file("bridge/" + bridgeVersion.replace('.', '_')),
+ settings = Seq(
+ organization := "com.lihaoyi",
+ scalaVersion := bridgeVersion,
+ name := "mill-bridge",
+ crossVersion := CrossVersion.full,
+ libraryDependencies ++= Seq(
+ "org.scala-lang" % "scala-compiler" % scalaVersion.value,
+ "org.scala-sbt" % "compiler-interface" % "1.0.5"
+ ),
+ (sourceGenerators in Compile) += Def.task{
+ import sys.process._
+ import collection.JavaConverters._
+ val v = scalaBinaryVersion.value
+ val url =
+ s"http://repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_$v/1.0.5/compiler-bridge_$v-1.0.5-sources.jar"
+ val curlDest = java.nio.file.Paths.get(target.value.toString, "sources")
+
+ Seq("rm", "-rf", curlDest.toString).!
+ java.nio.file.Files.createDirectories(curlDest)
+
+ Seq("curl", "-L", "-o", curlDest.resolve("bridge.jar").toString, url).!
+ Seq("unzip", curlDest.resolve("bridge.jar").toString, "-d", curlDest.toString).!
+
+ val sources = java.nio.file.Files.walk(curlDest)
+ .iterator
+ .asScala
+ .filter(_.toString.endsWith(".scala"))
+ .map(_.toFile)
+ .toSeq
+
+ sources
+ }.taskValue
+ )
+)
+lazy val bridge2_10_6 = bridge("2.10.6")
+lazy val bridge2_11_8 = bridge("2.11.8")
+//lazy val bridge2_11_9 = bridge("2.11.9")
+//lazy val bridge2_11_10 = bridge("2.11.10")
+lazy val bridge2_11_11 = bridge("2.11.11")
+//lazy val bridge2_12_0 = bridge("2.12.0")
+//lazy val bridge2_12_1 = bridge("2.12.1")
+//lazy val bridge2_12_2 = bridge("2.12.2")
+lazy val bridge2_12_3 = bridge("2.12.3")
+lazy val bridge2_12_4 = bridge("2.12.4")
+
lazy val core = project
.settings(
sharedSettings,
@@ -53,5 +101,18 @@ lazy val scalaplugin = project
.dependsOn(core % "compile->compile;test->test")
.settings(
sharedSettings,
- name := "mill-scalaplugin"
+ name := "mill-scalaplugin",
+ (compile in Test) := {
+ val a = (packageBin in (bridge2_10_6, Compile)).value
+ val b = (packageBin in (bridge2_11_8, Compile)).value
+// val c = (packageBin in (bridge2_11_9, Compile)).value
+// val d = (packageBin in (bridge2_11_10, Compile)).value
+ val e = (packageBin in (bridge2_11_11, Compile)).value
+// val f = (packageBin in (bridge2_12_0, Compile)).value
+// val g = (packageBin in (bridge2_12_1, Compile)).value
+// val h = (packageBin in (bridge2_12_2, Compile)).value
+ val i = (packageBin in (bridge2_12_3, Compile)).value
+ val j = (packageBin in (bridge2_12_4, Compile)).value
+ (compile in Test).value
+ }
)