summaryrefslogtreecommitdiff
path: root/build.sc
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.sc
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.sc')
-rwxr-xr-xbuild.sc29
1 files changed, 21 insertions, 8 deletions
diff --git a/build.sc b/build.sc
index 5bb7030e..a5eaba44 100755
--- a/build.sc
+++ b/build.sc
@@ -115,17 +115,30 @@ object scalalib extends MillModule {
def moduleDeps = Seq(core)
def bridgeCompiles = mill.define.Task.traverse(bridges.items)(_._2.compile)
+
+ def genTask(m: ScalaModule) = T.task{
+ Seq(m.jar(), m.sourcesJar()) ++
+ m.externalCompileDepClasspath() ++
+ m.externalCompileDepSources()
+ }
+
def testArgs = T{
val bridgeVersions = bridges.items.map(_._1.head.toString)
- val bridgeArgs = for((version, compile) <- bridgeVersions.zip(bridgeCompiles()))
- yield {
- val underscored = version.replace('.', '_')
- val key = s"MILL_COMPILER_BRIDGE_$underscored"
- val value = compile.classes.path
- s"-D$key=$value"
- }
- scalaworker.testArgs() ++ bridgeArgs
+ val bridgeArgs =
+ for((version, compile) <- bridgeVersions.zip(bridgeCompiles()))
+ yield s"-DMILL_COMPILER_BRIDGE_${version.replace('.', '_')}=${compile.classes.path}"
+
+
+ val genIdeaArgs =
+ genTask(moduledefs)() ++
+ genTask(core)() ++
+ genTask(scalalib)() ++
+ genTask(scalajslib)()
+
+ scalaworker.testArgs() ++
+ bridgeArgs ++
+ Seq("-DMILL_BUILD_LIBRARIES=" + genIdeaArgs.map(_.path).mkString(","))
}
}