由于某些原因,我不将Java插件用于Gradle,但我动态调用ant.javac
。如何基于列表构建动态Javac include()
?
例如:
def srcToCompile=["**/File1.java","**/File2.java","**/FileN.java"];
(...)
ant.javac(
destdir: tmpDir,
srcdir: srcDir
includeantruntime:false,
failonerror: true,
fork: true,
classpath : classpath1,
debug: true
) {
include(name: srcToCompile) //<< DOESN'T WORK, I also tested srcToCompile.join(":")
}
谢谢。
edit :由'不起作用',我的意思是ant.javac
没有解释List
或结肠分离的弦乐:找不到源,没有任何汇编。ant.javac
期望
include(name:"**/File1.java")
include(name:"**/File2.java")
include(name:"**/FileN.java")
但是我想在调用gradle时生成此include
的列表。
如果您看一个蚂蚁Javac文档,您将看到其中包含并包括一个字符串,但您正在尝试通过集合
eg:
<javac destdir="${build}"
classpath="xyz.jar"
debug="on">
<src path="${src}"/>
<src path="${src2}"/>
<include name="mypackage/p1/**"/>
<include name="mypackage/p2/**"/>
<exclude name="mypackage/p1/testpackage/**"/>
</javac>
和
<javac srcdir="${src}"
destdir="${build}"
includes="mypackage/p1/**,mypackage/p2/**"
excludes="mypackage/p1/testpackage/**"
classpath="xyz.jar"
debug="on"/>
在Gradle中,这将是
ant.javac(includes: srcToCompile.join(','), ...)
或
ant.javac(
...
) {
srcToCompile.each {
include(name: it)
}
}