From 2b3696ec4134f08ae37414f1406a87e746bc6128 Mon Sep 17 00:00:00 2001 From: Lukas Rytz Date: Tue, 22 Mar 2016 10:00:22 +0100 Subject: Cleanup IntelliJ integration based on review feedback --- build.sbt | 66 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/build.sbt b/build.sbt index 3ef4cbf2b5..5b9036deb4 100644 --- a/build.sbt +++ b/build.sbt @@ -853,7 +853,11 @@ addCommandAlias("scalap", "scalap/compile:runMain scala.tools.sca lazy val intellij = taskKey[Unit]("Update the library classpaths in the IntelliJ project files.") -def moduleDeps(name: String) = Def.taskDyn { Def.task((name, (externalDependencyClasspath in Compile in LocalProject(name)).value.map(_.data))) } +def moduleDeps(p: Project) = (externalDependencyClasspath in Compile in p).map(a => (p.id, a.map(_.data))) + +// aliases to projects to prevent name clashes +def compilerP = compiler +def testP = test intellij := { import xml._ @@ -866,30 +870,30 @@ intellij := { val buildModule = ("scala-build", scalabuild.BuildInfo.buildClasspath.split(":").toSeq.map(new File(_))) // `sbt projects` lists all modules in the build buildModule :: List( - moduleDeps("actors").value, - moduleDeps("compiler").value, - // moduleDeps("dist").value, // No sources, therefore no module in IntelliJ - moduleDeps("forkjoin").value, - moduleDeps("interactive").value, - moduleDeps("junit").value, - moduleDeps("library").value, - // moduleDeps("library-all").value, // No sources - moduleDeps("manual").value, - moduleDeps("partest-extras").value, - moduleDeps("partest-javaagent").value, - moduleDeps("reflect").value, - moduleDeps("repl").value, - moduleDeps("repl-jline").value, - // moduleDeps("repl-jline-embedded").value, // No sources - // moduleDeps("root").value, // No sources - // moduleDeps("scala-dist").value, // No sources - moduleDeps("scaladoc").value, - moduleDeps("scalap").value, - moduleDeps("test").value) + moduleDeps(actors).value, + moduleDeps(compilerP).value, + // moduleDeps(dist).value, // No sources, therefore no module in IntelliJ + moduleDeps(forkjoin).value, + moduleDeps(interactive).value, + moduleDeps(junit).value, + moduleDeps(library).value, + // moduleDeps(libraryAll).value, // No sources + moduleDeps(manual).value, + moduleDeps(partestExtras).value, + moduleDeps(partestJavaAgent).value, + moduleDeps(reflect).value, + moduleDeps(repl).value, + moduleDeps(replJline).value, + // moduleDeps(replJlineEmbedded).value, // No sources + // moduleDeps(root).value, // No sources + // moduleDeps(scalaDist).value, // No sources + moduleDeps(scaladoc).value, + moduleDeps(scalap).value, + moduleDeps(testP).value) } def moduleDep(name: String, jars: Seq[File]) = { - val entries = jars.map(f => s""" """).mkString("\n") + val entries = jars.map(f => s""" """).mkString("\n") s"""| | |$entries @@ -900,7 +904,7 @@ intellij := { } def starrDep(jars: Seq[File]) = { - val entries = jars.map(f => s""" """).mkString("\n") + val entries = jars.map(f => s""" """).mkString("\n") s"""| | |