単純なJavaExecを実行するタスクがあります。
私がうまくいかないように見えるのは、メインのJavaExecクラスに1つずつ渡したいときに、Filetreeオブジェクト(ファイルを含む)を反復処理しながら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" ]
}
}
compileJava.source generateClasses.outputs.files、sourceSets.main.java
上記から動作し、すべてのファイルが一覧表示されますが、JavaExecは、最後に読み取られたファイルで1回だけ呼び出されます。
上記に対処するにはどうすればよいですか?助けてください。