diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-27 22:49:18 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-27 22:49:18 -0800 |
commit | ff319e9314dac149d361daea87c89b2b9d7ebb08 (patch) | |
tree | e176eefee629ea8edfcfb4f3d848c4809c2716b6 /build.sc | |
parent | e754ec7d9eafdf13f9a34248295e19d309c7eba4 (diff) | |
download | mill-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-x | build.sc | 29 |
1 files changed, 21 insertions, 8 deletions
@@ -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(",")) } } |