我写摇篮任务,将一定量的不需要任何输入或输出。 正因为如此,这些任务总是状态UP-TO-DATE
时,我给他们打电话。 一个例子:
task backupFile(type: Copy) << {
//Both parameters are read from the gradle.properties file
from file(adjusting_file.replaceAll("\"", ""))
into file(backupDestinationDirectory + "/main/")
println "[INFO] Main file backed up"
}
这将导致以下的输出:
:gradle backupFile
:backupFile UP-TO-DATE
有没有办法强制(纽约州)要执行的任务,无论什么 ? 如果有,是不是也可以切换任务执行 (例如告诉构建脚本运行的任务和要忽略的任务)?
我不能省略<<
标签,因为这样做的任务始终执行,这是不是我的愿望。
许多在此先感谢您的输入。
任务具有在配置阶段进行配置。 然而,要在任务操作(其配置<< { ... }
它运行在执行阶段 。 因为你正在配置的任务为时已晚,摇篮决定了它没有任何关系,并打印UP-TO-DATE
。
下面是一个正确的解决方案。 同样,我建议使用doLast
而不是<<
因为它会导致更规则的语法,并不太可能添加/不经意地漏掉了。
task backupFile(type: Copy) {
from file(adjusting_file.replaceAll("\"", ""))
into file(backupDestinationDirectory + "/main/")
doLast {
println "[INFO] Main file backed up"
}
}
我一直在想了很多天这样做。 我要创建的processResource一步许多intermidate罐子。 下面一个必须在processResource一步创建。
processResources.dependsOn(packageOxygenApplet) //doesn't work
task packageOxygenApplet (type: Jar) {
println '** Generating JAR..: ' + rsuiteOxygenAppletJarName
from(sourceSets.main.output) {
include "org/worldbank/rsuite/oxygen/**"
}
baseName = rsuiteOxygenAppletJarName
manifest {
attributes("Build-By": oxygenUsername,
"Specification-Title": "Oxygen World Bank Plugin")
}
destinationDir = file("src/main/resources/WebContent/oxygen")
}