将复制任务与展开一起使用时,Gradle未检测到更改
我很乐意使用扩展方法复制文件并替换其中的字符串。将复制任务与展开一起使用时,Gradle未检测到更改,gradle,Gradle,我很乐意使用扩展方法复制文件并替换其中的字符串。 问题是当expand的值更改时,gradle仍然将目标文件视为最新文件。我必须清理和构建文件以获得正确的值 这是复制任务: task copyProductionConfig(type: Copy) { from 'source' include 'config.properties' into 'build/war/WEB-INF/config' expand([ databaseHostname: 'db.compan
问题是当expand的值更改时,gradle仍然将目标文件视为最新文件。我必须清理和构建文件以获得正确的值 这是复制任务:
task copyProductionConfig(type: Copy) {
from 'source'
include 'config.properties'
into 'build/war/WEB-INF/config'
expand([
databaseHostname: 'db.company.com',
version: versionId,
buildNumber: (int)(Math.random() * 1000),
date: new Date()
])
}
即使更改了版本,gradle仍然认为结果文件是最新的。这确实很遗憾。但它应该很容易通过这样做来解决
task copyProductionConfig(type: Copy) {
from 'source'
include 'config.properties'
into 'build/war/WEB-INF/config'
def tokens = [
databaseHostname: 'db.company.com',
version: versionId,
buildNumber: (int)(Math.random() * 1000),
date: new Date()
]
expand(tokens)
inputs.properties(tokens)
}
这样,令牌被添加到任务的输入中,如果自上次执行以来令牌发生了更改,则任务将重新执行。两个问题。为什么不使用war插件?你使用清洁任务吗?