我有一项任务需要配置为依赖于另一个现有的发布任务。我已经编写了如下代码片段,它工作正常 - 文件按预期复制到bundleDir中:
task releaseJarsTask1 (dependsOn: releaseTask) {
copy {
from fileTree(dir: releaseRepoDir, include: (releaseTask.project.name + '*/*.jar')).files
into bundleDir
}
}
基于我对Gradle的相对较新的理解,以下内容也应该有效,但它没有 - 它不产生输出:
task releaseJarsTask2 (dependsOn: releaseTask, type: Copy) {
from fileTree(dir: releaseRepoDir, include: (releaseTask.project.name + '*/*.jar')).files
into bundleDir
}
为什么呢?
答案 0 :(得分:0)
它之前只是顺带工作。在第一个任务中,您在配置阶段执行复制,因为对copy()
的调用是在配置闭包中完成的。在第二个任务中,只有在执行任务时才会执行复制操作。尝试使用gradle releaseJarsTask2
手动执行任务。