[GRADLE-1483] Tasks of type JavaExec fails to honor inputs/outputs Created: 18/Apr/11 Updated: 04/Jan/13 Resolved: 16/Feb/12 |
|
Status: | Resolved |
Project: | Gradle |
Affects Version/s: | 1.0-milestone-2 |
Fix Version/s: | 1.0-milestone-9 |
Type: | Bug | ||
Reporter: | Magnus Rundberget | Assignee: | Luke Daley |
Resolution: | Fixed | Votes: | 3 |
Description |
The following task will always run regardless: /** Generate webservice source files from wsdl **/ wsdlDir = file("src/main/resources/wsdl") wsdlFile = file("$wsdlDir/SakWS.wsdl") jaxbBindingsFile = file("$wsdlDir/jaxbBindings.xml") task wsdl2Java(type: JavaExec) { inputs.files configurations.cxfCodeGenLibs, wsdlFile, jaxbBindingsFile outputs.files generatedWsdlDir main = 'org.apache.cxf.tools.wsdlto.WSDLToJava' classpath = configurations.cxfCodeGenLibs args '-b', jaxbBindingsFile, '-d', generatedWsdlDir, '-xjc-Xts', wsdlFile } compileJava.dependsOn wsdl2Java |
Comments |
Comment by Magnus Rundberget [ 18/Apr/11 ] |
This workaround from Adam fixes it;
outputs.upToDateSpec = new org.gradle.api.specs.AndSpec()
|
Comment by Peter Niederwieser [ 22/Apr/11 ] |
Is there any particular reason why we set upToDateWhen {false} for JavaExec? |
Comment by Luke Daley [ 16/Feb/12 ] |
The javaexec task can now be made incremental if you declare some outputs. Out of the box it does not declare any outputs so will not be incremental. |
Comment by Warren Muller [ 27/Feb/12 ] |
M6 and M8 did not work for me with: // mc, cp, ag defined above as being set by iteration through a map of settings tasks.add(name: "wsdl2Java${k.capitalize()}",type: JavaExec) { description="Generates Java source for wsdl:${k}=${v.file}" outputs.upToDateSpec = new org.gradle.api.specs.AndSpec() outputs.files generatedWsdlDir inputs.files configurations.compile, wsdlFile main = mc classpath = cp args = ag logger.debug "main=${main},classpath=${classpath},args=${args}" } clean.dependsOn "cleanWsdl2Java${k.capitalize()}" project."compile${wsdlSrcSetName.capitalize()}Java".dependsOn "wsdl2Java${k.capitalize()}" |
Comment by MikeN [ 27/Feb/12 ] |
M6 and M7 work for me with
outputs.upToDateSpec = new org.gradle.api.specs.AndSpec()
|