[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()
|