diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-17 11:53:48 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-02-17 11:53:48 -0800 |
commit | 865045540bd80bebb1655005abf32bc089c33895 (patch) | |
tree | 694178964ec1f8f8af821f854655865cd9cd8612 /scalaworker/src | |
parent | 92edcae5094e52783f825021e4172a6b072300e0 (diff) | |
parent | 4cae6ff8a1111bb6c4bc6a44e67bd0affdbb9792 (diff) | |
download | mill-865045540bd80bebb1655005abf32bc089c33895.tar.gz mill-865045540bd80bebb1655005abf32bc089c33895.tar.bz2 mill-865045540bd80bebb1655005abf32bc089c33895.zip |
Merge branch '130'
Diffstat (limited to 'scalaworker/src')
-rw-r--r-- | scalaworker/src/mill/scalaworker/ScalaWorker.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/scalaworker/src/mill/scalaworker/ScalaWorker.scala b/scalaworker/src/mill/scalaworker/ScalaWorker.scala index 5b5808cb..7929d7c0 100644 --- a/scalaworker/src/mill/scalaworker/ScalaWorker.scala +++ b/scalaworker/src/mill/scalaworker/ScalaWorker.scala @@ -99,6 +99,22 @@ class ScalaWorker(ctx0: mill.util.Ctx, compiledDest } + + + def discoverMainClasses(compilationResult: CompilationResult)(implicit ctx: mill.util.Ctx): Seq[String] = { + def toScala[A](o: Optional[A]): Option[A] = if (o.isPresent) Some(o.get) else None + + toScala(FileAnalysisStore.binary(compilationResult.analysisFile.toIO).get()) + .map(_.getAnalysis) + .flatMap{ + case analysis: Analysis => + Some(analysis.infos.allInfos.values.map(_.getMainClasses).flatten.toSeq.sorted) + case _ => + None + } + .getOrElse(Seq.empty[String]) + } + def compileScala(scalaVersion: String, sources: Agg[Path], compileBridgeSources: Agg[Path], |