diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-10-18 07:32:29 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-10-18 09:14:27 +0800 |
commit | c1b8b3de8fe123317a07e0a4454606767876cb41 (patch) | |
tree | 04f8db077b2288cf0918c47e63009453980c0f7d /scalalib/src | |
parent | d551ee9d751201491a1d64e4da76ab03e3815df6 (diff) | |
download | mill-c1b8b3de8fe123317a07e0a4454606767876cb41.tar.gz mill-c1b8b3de8fe123317a07e0a4454606767876cb41.tar.bz2 mill-c1b8b3de8fe123317a07e0a4454606767876cb41.zip |
.
fix docjar tests now it no longer fails with an exception
docJar works again, now mill clean __.docJar && mill __.docJar goes from 413s to 47s on the mill repo
Diffstat (limited to 'scalalib/src')
-rw-r--r-- | scalalib/src/mill/scalalib/ScalaModule.scala | 31 | ||||
-rw-r--r-- | scalalib/src/mill/scalalib/ZincWorkerApi.scala | 2 |
2 files changed, 18 insertions, 15 deletions
diff --git a/scalalib/src/mill/scalalib/ScalaModule.scala b/scalalib/src/mill/scalalib/ScalaModule.scala index 74656818..35dc67d7 100644 --- a/scalalib/src/mill/scalalib/ScalaModule.scala +++ b/scalalib/src/mill/scalalib/ScalaModule.scala @@ -173,23 +173,24 @@ trait ScalaModule extends JavaModule { outer => val javadocDir = outDir / 'javadoc mkdir(javadocDir) - val files = for{ - ref <- allSources() - if exists(ref.path) - p <- (if (ref.path.isDir) ls.rec(ref.path) else Seq(ref.path)) - if (p.isFile && ((p.ext == "scala") || (p.ext == "java"))) - } yield p.toNIO.toString + val files = allSourceFiles().map(_.path.toString) val pluginOptions = scalaDocPluginClasspath().map(pluginPathRef => s"-Xplugin:${pluginPathRef.path}") - val options = Seq("-d", javadocDir.toNIO.toString, "-usejavacp") ++ pluginOptions ++ scalaDocOptions() - - if (files.nonEmpty) subprocess( - "scala.tools.nsc.ScalaDoc", - scalaCompilerClasspath().map(_.path) ++ compileClasspath().filter(_.path.ext != "pom").map(_.path), - mainArgs = (files ++ options).toSeq - ) - - createJar(Agg(javadocDir))(outDir) + val compileCp = compileClasspath().filter(_.path.ext != "pom").map(_.path) + val options = Seq( + "-d", javadocDir.toNIO.toString, "-usejavacp", + "-classpath", compileCp.mkString(":") + ) ++ + pluginOptions ++ + scalaDocOptions() + + if (files.isEmpty) Result.Success(createJar(Agg(javadocDir))(outDir)) + else { + zincWorker.worker().docJar(files ++ options) match{ + case true => Result.Success(createJar(Agg(javadocDir))(outDir)) + case false => Result.Failure("docJar generation failed") + } + } } /** diff --git a/scalalib/src/mill/scalalib/ZincWorkerApi.scala b/scalalib/src/mill/scalalib/ZincWorkerApi.scala index ebe2f071..c05ac62f 100644 --- a/scalalib/src/mill/scalalib/ZincWorkerApi.scala +++ b/scalalib/src/mill/scalalib/ZincWorkerApi.scala @@ -79,4 +79,6 @@ trait ZincWorkerApi { def discoverMainClasses(compilationResult: CompilationResult) (implicit ctx: mill.util.Ctx): Seq[String] + + def docJar(args: Seq[String]): Boolean } |