我有一项任务,我希望在基本的课程之后在gradle中运行。任务运行,但仅在它不是UP-TO-DATE时才会运行。
如何在gradle中对此进行建模?
我试图解决的问题是我有一个用于生成wsdl文件的wsgen任务。用作wsdl基础的源已更改,但wsgen任务仍然表示它是最新的,因为输出文件存在。如果构建/编译任务已运行且不是最新的,我想删除wsdl文件。
我们说我的任务如下:
task deleteGeneratedWsdl() {
// delete file here.
}
// I Only want this to run if classes was not UP-TO-DATE
deleteGeneratedWsdl.dependsOn classes
这是我的wsgen任务:
task wsgen() {
def inputDir = file('build/classes/main')
def dstDir = file('build/wsdl')
def outputWsdl = file('build/wsdl/MyWSDL.wsdl')
inputs.dir inputDir
outputs.file outputWsdl
doLast{
dstDir.mkdirs()
ant {
taskdef(name:'wsgen',
classname:'com.sun.tools.ws.ant.WsGen',
classpath:configurations.jaxws.asPath)
wsgen(keep:true,
destdir: dstDir,
genwsdl:'true',
classpath:'build/classes/main;../UTIL_PROJ/build/classes/main',
sei:'my.path.SourceFile')
}
}
}
wsgen.dependsOn classes
build.dependsOn wsgen