我有以下任务:
preBuild.dependsOn“ copyConfigFile”
task copyConfigFile(type: Copy) {
from 'ConfigSources/VersionInfo.java'
into 'src/main/java/com/company/gradleexperiments/'
expand([changeset: "12345",
changeset_time: "the time",
changeset_date : "the date"])
}
它的工作与预期的一样,除了在最初复制文件之后,如果我更改了expand中的值之一并再次构建,那么该文件不会被覆盖(目标位置中文件的创建时间戳记是最后一次保留)被建)。
我做了一些谷歌搜索和搜索有关该主题的过去的问题,但是我得到的答案是,默认情况下,应始终将gradle copy任务覆盖该文件。如果是这样,那为什么对我却不这样做呢?
这是一个非常古老的错误:复制任务不考虑传递给扩展的值作为输入,因此即使这些值已更改,也认为它是最新的。
您可以在此处对此问题进行投票。
通过将扩展值明确地添加到输入中,应该相对容易规避。例如:
task copyConfigFile(type: Copy) {
from 'ConfigSources/VersionInfo.java'
into 'src/main/java/com/company/gradleexperiments/'
def values =
['changeset': '12345',
'changeset_time': 'the time',
'changeset_date': 'the date'];
inputs.properties(values);
expand(values);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句