summaryrefslogtreecommitdiff
path: root/build.sbt
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-01-27 22:49:18 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-01-27 22:49:18 -0800
commitff319e9314dac149d361daea87c89b2b9d7ebb08 (patch)
treee176eefee629ea8edfcfb4f3d848c4809c2716b6 /build.sbt
parente754ec7d9eafdf13f9a34248295e19d309c7eba4 (diff)
downloadmill-ff319e9314dac149d361daea87c89b2b9d7ebb08.tar.gz
mill-ff319e9314dac149d361daea87c89b2b9d7ebb08.tar.bz2
mill-ff319e9314dac149d361daea87c89b2b9d7ebb08.zip
Make `idea` task configure the root module to have IntelliJ properly handle the `build.sc` file
Diffstat (limited to 'build.sbt')
-rw-r--r--build.sbt27
1 files changed, 21 insertions, 6 deletions
diff --git a/build.sbt b/build.sbt
index 2868a731..fa6ee4d5 100644
--- a/build.sbt
+++ b/build.sbt
@@ -167,8 +167,23 @@ lazy val scalaworker: Project = project
)
)
-(javaOptions in scalalib) := bridgeProps.value.toSeq ++ scalaWorkerProps.value
+def genTask(m: Project) = Def.task{
+ Seq((packageBin in (m, Compile)).value, (packageSrc in (m, Compile)).value) ++
+ (externalDependencyClasspath in (m, Compile)).value.map(_.data)
+}
+(javaOptions in scalalib) := {
+ bridgeProps.value.toSeq ++
+ scalaWorkerProps.value ++
+ Seq("-DMILL_BUILD_LIBRARIES=" +
+ (
+ genTask(moduledefs).value ++
+ genTask(core).value ++
+ genTask(scalalib).value ++
+ genTask(scalajslib).value
+ ).mkString(",")
+ )
+}
lazy val scalajslib = project
.dependsOn(scalalib % "compile->compile;test->test")
.settings(
@@ -257,12 +272,12 @@ lazy val bin = project
outputStrategy in (Test, run) := Some(StdoutOutput),
mainClass in (Test, run) := Some("mill.Main"),
baseDirectory in (Test, run) := (baseDirectory in (Compile, run)).value / ".." / "..",
+ javaOptions in (Test, run) := {
+ (javaOptions in (scalalib, Compile)).value ++
+ scalaWorkerProps.value
+ },
assemblyOption in assembly := {
- val extraArgs = (
- bridgeProps.value ++
- jsbridgeProps.value ++
- scalaWorkerProps.value
- ).mkString(" ")
+ val extraArgs = (javaOptions in (Test, run)).value.mkString(" ")
(assemblyOption in assembly).value.copy(
prependShellScript = Some(
Seq(