我需要使用一些doFirst和doLast命令来扩展gradle war任务,以便在生产状态下编译我的sencha前端。
我知道要扩展一个任务,我需要添加task.doFirst {},但这不适用于war。我使用其他任务做了一些测试,比如
clean {
doFirst {
println "test"
}
}这起作用了..。但战争并不是这样
war {
doFirst {
println "test"
}
}我的主要想法是从from列表中删除src/main/webapp并执行sencha-cmd sencha app build -c --destination $war/ production
发布于 2016-09-22 23:51:53
您应该使用它自己的输入/输出为sencha编译创建一个单独的任务,这样Gradle就可以执行最新的检查(因此,如果不需要,可以跳过它)。然后,您可以通过Task.dependsOn(...)将任务连接到gradle DAG
task compileSencha(type:Exec) {
inputs.dir 'src/main/sencha'
outputs.dir "$buildDir/sencha"
commandLine 'sencha', 'app', 'build', file('src/main/sencha').absolutePath, file("$buildDir/sencha").absolutePath
}
war {
from "$buildDir/sencha"
dependsOn compileSencha
}https://stackoverflow.com/questions/39643444
复制相似问题