aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-06-07 17:36:35 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-06-07 17:36:35 +0200
commit002ed8e1ccaf6e821c75da3a4bfad3b3c12da0ab (patch)
tree760c6a0867f8b8911b99e0f14dd2cca492aebced /project
parent9baa9728b5eb6d679c113403a6a1b0e574174174 (diff)
parent09b2f39731386cd5b3688d5c3badf75d956d4f6d (diff)
downloaddotty-002ed8e1ccaf6e821c75da3a4bfad3b3c12da0ab.tar.gz
dotty-002ed8e1ccaf6e821c75da3a4bfad3b3c12da0ab.tar.bz2
dotty-002ed8e1ccaf6e821c75da3a4bfad3b3c12da0ab.zip
Merge pull request #1306 from dotty-staging/add/dotty-bridge
Merge the sbt compiler bridge as a subproject of dotty
Diffstat (limited to 'project')
-rw-r--r--project/Build.scala52
-rw-r--r--project/scripted.sbt2
2 files changed, 54 insertions, 0 deletions
diff --git a/project/Build.scala b/project/Build.scala
index 71fb4c142..db3587772 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -195,6 +195,58 @@ object DottyBuild extends Build {
).
settings(publishing)
+ lazy val `dotty-bridge` = project.in(file("bridge")).
+ dependsOn(dotty).
+ settings(
+ overrideScalaVersionSetting,
+
+ description := "sbt compiler bridge for Dotty",
+ resolvers += Resolver.typesafeIvyRepo("releases"),
+ libraryDependencies ++= Seq(
+ "org.scala-sbt" % "interface" % sbtVersion.value,
+ "org.scala-sbt" % "api" % sbtVersion.value % "test",
+ "org.specs2" %% "specs2" % "2.3.11" % "test"
+ ),
+ version := "0.1.1-SNAPSHOT",
+ // The sources should be published with crossPaths := false, the binaries
+ // are unused so it doesn't matter.
+ crossPaths := false,
+
+ fork in Test := true,
+ parallelExecution in Test := false
+ ).
+ settings(ScriptedPlugin.scriptedSettings: _*).
+ settings(
+ ScriptedPlugin.scriptedLaunchOpts := Seq("-Xmx1024m"),
+ ScriptedPlugin.scriptedBufferLog := false
+ // TODO: Use this instead of manually copying DottyInjectedPlugin.scala
+ // everywhere once https://github.com/sbt/sbt/issues/2601 gets fixed.
+ /*,
+ ScriptedPlugin.scriptedPrescripted := { f =>
+ IO.write(inj, """
+import sbt._
+import Keys._
+
+object DottyInjectedPlugin extends AutoPlugin {
+ override def requires = plugins.JvmPlugin
+ override def trigger = allRequirements
+
+ override val projectSettings = Seq(
+ scalaVersion := "0.1-SNAPSHOT",
+ scalaOrganization := "ch.epfl.lamp",
+ scalacOptions += "-language:Scala2",
+ scalaBinaryVersion := "2.11",
+ autoScalaLibrary := false,
+ libraryDependencies ++= Seq("org.scala-lang" % "scala-library" % "2.11.5"),
+ scalaCompilerBridgeSource := ("ch.epfl.lamp" % "dotty-bridge" % "0.1.1-SNAPSHOT" % "component").sources()
+ )
+}
+""")
+ }
+ */
+ )
+
+
/** A sandbox to play with the Scala.js back-end of dotty.
*
* This sandbox is compiled with dotty with support for Scala.js. It can be
diff --git a/project/scripted.sbt b/project/scripted.sbt
new file mode 100644
index 000000000..76fdf267f
--- /dev/null
+++ b/project/scripted.sbt
@@ -0,0 +1,2 @@
+// Used by the subproject dotty-bridge
+libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value