summaryrefslogtreecommitdiff
path: root/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
diff options
context:
space:
mode:
authorNikolay Tatarinov <5min4eq.unity@gmail.com>2017-11-26 21:03:21 +0300
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-26 10:03:21 -0800
commit082a6eab011173fa09a0e6b4cbd2234d1dcb5138 (patch)
treeb61998009aa1fa16415e62dc5ca8b57c5a41801d /scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
parentacecf20f25da2b0eb777ff08c5fad8712d4c3c72 (diff)
downloadmill-082a6eab011173fa09a0e6b4cbd2234d1dcb5138.tar.gz
mill-082a6eab011173fa09a0e6b4cbd2234d1dcb5138.tar.bz2
mill-082a6eab011173fa09a0e6b4cbd2234d1dcb5138.zip
pass scalacOptions and javacOptions to compile (#23)
Diffstat (limited to 'scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala')
-rw-r--r--scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala17
1 files changed, 14 insertions, 3 deletions
diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
index 02f202de..b454d793 100644
--- a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
+++ b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
@@ -31,6 +31,8 @@ object ScalaModule{
def compileScala(scalaVersion: String,
sources: Path,
compileClasspath: Seq[Path],
+ scalacOptions: Seq[String],
+ javacOptions: Seq[String],
outputPath: Path): PathRef = {
val compileClasspathFiles = compileClasspath.map(_.toIO).toArray
val binaryScalaVersion = scalaVersion.split('.').dropRight(1).mkString(".")
@@ -95,8 +97,8 @@ object ScalaModule{
classpath = classesDir +: compileClasspathFiles,
sources = ls.rec(sources).filter(_.isFile).map(_.toIO).toArray,
classesDirectory = classesDir,
- scalacOptions = Array(),
- javacOptions = Array(),
+ scalacOptions = scalacOptions.toArray,
+ javacOptions = javacOptions.toArray,
maxErrors = 10,
sourcePositionMappers = Array(),
order = CompileOrder.Mixed,
@@ -194,6 +196,9 @@ trait ScalaModule extends Module with TaskModule{ outer =>
def runIvyDeps = T{ Seq[Dep]() }
def basePath: Path
+ def scalacOptions = T{ Seq.empty[String] }
+ def javacOptions = T{ Seq.empty[String] }
+
val repositories: Seq[Repository] = Seq(
Cache.ivy2Local,
MavenRepository("https://repo1.maven.org/maven2")
@@ -261,7 +266,13 @@ trait ScalaModule extends Module with TaskModule{ outer =>
def sources = T.source{ basePath / 'src }
def resources = T.source{ basePath / 'resources }
def compile = T.persistent{
- compileScala(scalaVersion(), sources().path, compileDepClasspath().map(_.path), T.ctx().dest)
+ compileScala(
+ scalaVersion(),
+ sources().path,
+ compileDepClasspath().map(_.path),
+ scalacOptions(),
+ javacOptions(),
+ T.ctx().dest)
}
def assembly = T{
val dest = T.ctx().dest