我有一个运行简单JavaExec的任务.
我似乎无法工作的是能够在迭代Filetree对象(包含文件)的同时多次运行JavaExec,同时我想逐个传递到主JavaExec类.不幸的是,编译器或代码生成工具并不接受将目录作为arg,因此我需要将该文件作为每个循环的arg传递.这就是我所拥有的:
task generateClasses(type: JavaExec) {
description = 'Generates Json Classes...'
classpath configurations.all
main = "org.apache.gora.compiler.Compiler"
FileTree tree = fileTree(dir: 'src/main')
tree.include '**/*.json'
tree.each {File file ->
println file
args = [ "src/main/json/$file.name", "$buildDir/generated-src/src/main/java" ]
}
Run Code Online (Sandbox Code Playgroud)
}
compileJava.source generateClasses.outputs.files,sourceSets.main.java
从上面它可以工作,我列出了所有文件,但JavaExec只在最后一个文件读取时被调用.
我如何解决上述问题?请帮忙.
小智 30
怎么用这个project.javaexec方法?请参阅API文档或
DSL参考.
task generateClasses {
description = 'Generate Json Classes'
fileTree(dir: 'src/main', include:'**/*.json').each { file ->
doLast {
javaexec {
classpath configurations.all
main = 'org.apache.gora.compiler.Compiler'
args = ["src/main/json/$file.name", "$buildDir/generated-src/src/main/java"]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9149 次 |
| 最近记录: |