Gradle:如何用多个倍数调用ant.javac在运行时定义



由于某些原因,我不将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) 
   } 
} 

相关内容

  • 没有找到相关文章

最新更新