From 02ebf026df6e08e9de8bef6dfec03d14ea46dfa1 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sat, 27 Jan 2018 23:49:51 -0800 Subject: Make `idea` task work with releaseAssembly and publishLocal --- core/test/src/mill/eval/JavaCompileJarTests.scala | 4 ++-- scalajslib/src/mill/scalajslib/ScalaJSModule.scala | 3 ++- scalalib/src/mill/scalalib/GenIdea.scala | 18 ++++++++++++++++-- scalalib/src/mill/scalalib/ScalaWorkerApi.scala | 5 +++-- scalalib/src/mill/scalalib/publish/Ivy.scala | 2 +- scalalib/src/mill/scalalib/publish/Pom.scala | 2 +- 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/core/test/src/mill/eval/JavaCompileJarTests.scala b/core/test/src/mill/eval/JavaCompileJarTests.scala index 961c4b1f..36bbe5cd 100644 --- a/core/test/src/mill/eval/JavaCompileJarTests.scala +++ b/core/test/src/mill/eval/JavaCompileJarTests.scala @@ -123,7 +123,7 @@ object JavaCompileJarTests extends TestSuite{ check(targets = Agg(allSources), expected = Agg(allSources)) check(targets = Agg(jar), expected = Agg(classFiles, jar)) - val jarContents = %%('jar, "-tf", workspacePath/'jar/'dest)(workspacePath).out.string + val jarContents = %%('jar, "-tf", workspacePath/'jar/'dest/"out.jar")(workspacePath).out.string val expectedJarContents = """META-INF/MANIFEST.MF |hello.txt @@ -135,7 +135,7 @@ object JavaCompileJarTests extends TestSuite{ |""".stripMargin assert(jarContents == expectedJarContents) - val executed = %%('java, "-cp", workspacePath/'jar/'dest, "test.Foo")(workspacePath).out.string + val executed = %%('java, "-cp", workspacePath/'jar/'dest/"out.jar", "test.Foo")(workspacePath).out.string assert(executed == (31337 + 271828) + "\n") for(i <- 0 until 3){ diff --git a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala index 0286d573..d76a50db 100644 --- a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala +++ b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala @@ -5,6 +5,7 @@ import java.io.File import mill.scalalib.DepSyntax import ammonite.ops.{Path, ls, mkdir, rm} +import coursier.Cache import coursier.maven.MavenRepository import mill.eval.PathRef import mill.eval.Result.Success @@ -37,7 +38,7 @@ trait ScalaJSModule extends scalalib.ScalaModule { outer => if (jsBridgePath != null) Success( PathRef(Path(jsBridgePath), quick = true) ) else resolveDependencies( - Seq(MavenRepository("https://repo1.maven.org/maven2")), + Seq(Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2")), "2.12.4", "2.12", Seq(Dep( diff --git a/scalalib/src/mill/scalalib/GenIdea.scala b/scalalib/src/mill/scalalib/GenIdea.scala index a6551535..7fa2536d 100644 --- a/scalalib/src/mill/scalalib/GenIdea.scala +++ b/scalalib/src/mill/scalalib/GenIdea.scala @@ -1,8 +1,10 @@ package mill.scalalib import ammonite.ops._ +import coursier.Cache +import coursier.maven.MavenRepository import mill.define._ -import mill.eval.{Evaluator, PathRef} +import mill.eval.{Evaluator, PathRef, Result} import mill.scalalib import mill.util.Ctx.LogCtx import mill.util.{Loose, PrintLogger, Strict} @@ -32,7 +34,19 @@ object GenIdea { .collect{ case x: scalalib.ScalaModule => (x.millModuleSegments, x)} .toSeq - val buildLibraryPaths = Agg.from(sys.props("MILL_BUILD_LIBRARIES").split(',').map(Path(_)).distinct) + val buildLibraryPaths = sys.props.get("MILL_BUILD_LIBRARIES") match { + case Some(found) => Agg.from(found.split(',').map(Path(_)).distinct) + case None => + val artifactNames = Seq("moduledefs", "core", "scalalib", "scalajslib") + val Result.Success(res) = scalalib.Lib.resolveDependencies( + Seq(Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2")), + "2.12.4", + "2.12", + for(name <- artifactNames) + yield Dep("com.lihaoyi", s"mill-${name}", "0.0.1-SNAPSHOT") + ) + res.items.toSeq.map(_.path) + } val resolved = for((path, mod) <- modules) yield { val Seq(resolvedCp: Loose.Agg[PathRef], resolvedSrcs: Loose.Agg[PathRef]) = diff --git a/scalalib/src/mill/scalalib/ScalaWorkerApi.scala b/scalalib/src/mill/scalalib/ScalaWorkerApi.scala index 43b82460..8ff45a48 100644 --- a/scalalib/src/mill/scalalib/ScalaWorkerApi.scala +++ b/scalalib/src/mill/scalalib/ScalaWorkerApi.scala @@ -4,6 +4,7 @@ import java.lang.reflect.{InvocationHandler, Method} import java.net.URI import ammonite.ops.Path +import coursier.Cache import coursier.maven.MavenRepository import mill.Agg import mill.scalalib.TestRunner.Result @@ -19,10 +20,10 @@ object ScalaWorkerApi extends mill.define.BaseModule(ammonite.ops.pwd){ if (scalaWorkerJar != null) Loose.Agg.from(scalaWorkerJar.split(',').map(Path(_))) else { val mill.eval.Result.Success(v) = resolveDependencies( - Seq(MavenRepository("https://repo1.maven.org/maven2")), + Seq(Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2")), "2.12.4", "2.12", - Seq(ivy"com.lihaoyi::mill-scalaworker:0.1-SNAPSHOT") + Seq(ivy"com.lihaoyi::mill-scalaworker:0.0.1-SNAPSHOT") ) v.map(_.path) } diff --git a/scalalib/src/mill/scalalib/publish/Ivy.scala b/scalalib/src/mill/scalalib/publish/Ivy.scala index b0b6443e..644e2c53 100644 --- a/scalalib/src/mill/scalalib/publish/Ivy.scala +++ b/scalalib/src/mill/scalalib/publish/Ivy.scala @@ -33,7 +33,7 @@ object Ivy { - {dependencies.map(renderDependency)} + {dependencies.map(renderDependency).toSeq} val pp = new PrettyPrinter(120, 4) diff --git a/scalalib/src/mill/scalalib/publish/Pom.scala b/scalalib/src/mill/scalalib/publish/Pom.scala index 74dc6e8f..895e1686 100644 --- a/scalalib/src/mill/scalalib/publish/Pom.scala +++ b/scalalib/src/mill/scalalib/publish/Pom.scala @@ -39,7 +39,7 @@ object Pom { {pomSettings.developers.map(renderDeveloper)} - {dependencies.map(renderDependency)} + {dependencies.map(renderDependency).toSeq} -- cgit v1.2.3