gradle scala插件将compileScala
任务添加到项目中。但有时scala编译器可能会报告如下内容:
$ gradle compileScala
:compileJava UP-TO-DATE
:compileScala
[ant:scalac] warning: there were 3 feature warning(s); re-run with -feature for details
[ant:scalac] one warning found
BUILD SUCCESSFUL
Total time: 21.796 secs
我试着用-feature重新运行,但是gradle build抱怨如下:
$ gradle compileScala -feature
FAILURE: Build failed with an exception.
* What went wrong:
Problem configuring task :compileScala from command line.
> Unknown command-line option '-f'.
* Try:
Run gradle help --task :compileScala to get task usage details. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 4.792 secs
gradle help——task:compileScala没有提供任何有用的信息。
问题是,当使用gradle编译scala代码时,如何将-feature选项传递给scala编译器以查看功能警告?
编辑
以防万一这是有用的:
$ gradle --version
------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------
Build time: 2014-04-29 09:24:31 UTC
Build number: none
Revision: a831fa866d46cbee94e61a09af15f9dd95987421
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.7.0_55 (Oracle Corporation 24.55-b03)
OS: Linux 3.13.0-27-generic amd64
$ scala -version
Scala code runner version 2.10.3 -- Copyright 2002-2013, LAMP/EPFL
在Gradle Build Language Reference中检查ScalaCompile
导致:
compileScala { // or: tasks.withType(ScalaCompile)
scalaCompileOptions.additionalParameters = ["-feature"]
}
顺便说一下,scalaCompileOptions.useAnt = false
将从Ant编译器切换到增量锌编译器,这也是sbt使用的。