From 26e3702f3fccdedbb9dd44574678e9217d16959c Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Wed, 17 Jan 2018 21:35:48 -0800 Subject: Implement downloading/caching of binaries and java-source-folder support to make better-files benchmarks compile; fixes https://github.com/lihaoyi/mill/issues/37 --- scalalib/src/main/scala/mill/scalalib/Lib.scala | 7 ++++++- scalalib/src/main/scala/mill/scalalib/MiscModule.scala | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'scalalib/src') diff --git a/scalalib/src/main/scala/mill/scalalib/Lib.scala b/scalalib/src/main/scala/mill/scalalib/Lib.scala index 8a98d724..a038a59b 100644 --- a/scalalib/src/main/scala/mill/scalalib/Lib.scala +++ b/scalalib/src/main/scala/mill/scalalib/Lib.scala @@ -128,7 +128,12 @@ object Lib{ val newResult = ic.compile( ic.inputs( classpath = classesIODir +: compileClasspathFiles, - sources = sources.filter(_.toIO.exists()).flatMap(ls.rec).filter(x => x.isFile && x.ext == "scala").map(_.toIO).toArray, + sources = for{ + root <- sources.toArray + if exists(root) + path <- ls.rec(root) + if path.isFile && (path.ext == "scala" || path.ext == "java") + } yield path.toIO, classesDirectory = classesIODir, scalacOptions = (scalacPluginClasspath.map(jar => s"-Xplugin:${jar}") ++ scalacOptions).toArray, javacOptions = javacOptions.toArray, diff --git a/scalalib/src/main/scala/mill/scalalib/MiscModule.scala b/scalalib/src/main/scala/mill/scalalib/MiscModule.scala index 52a95337..502ba461 100644 --- a/scalalib/src/main/scala/mill/scalalib/MiscModule.scala +++ b/scalalib/src/main/scala/mill/scalalib/MiscModule.scala @@ -8,11 +8,21 @@ import mill.util.Loose.Agg trait SbtModule extends ScalaModule { outer => - override def sources = T.input{ Agg(PathRef(basePath / 'src / 'main / 'scala)) } + override def sources = T.input{ + Agg( + PathRef(basePath / 'src / 'main / 'scala), + PathRef(basePath / 'src / 'main / 'java) + ) + } override def resources = T.input{ Agg(PathRef(basePath / 'src / 'main / 'resources)) } trait Tests extends super.Tests { override def basePath = outer.basePath - override def sources = T.input{ Agg(PathRef(basePath / 'src / 'test / 'scala)) } + override def sources = T.input{ + Agg( + PathRef(basePath / 'src / 'test / 'scala), + PathRef(basePath / 'src / 'test / 'java) + ) + } override def resources = T.input{ Agg(PathRef(basePath / 'src / 'test / 'resources)) } } } -- cgit v1.2.3