我已经在build.gradle中设置了buildDir,除了一个插件以外的所有插件都支持该设置。对于那些坚持创建build/reports/license/并将其输出放置在那里的人,我想将这些文件移动到我的${buildDir}

我尝试将doLast块添加到任务

downloadLicenses {
    // ...
    doLast {
        file("build/reports/license").renameTo("${buildDir}/reports");
    }
}

但是Gradle抱怨



我在这里缺少什么,任务完成后如何移动文件?

编辑:有问题的插件是License Gradle Plugin,而我做了report this as a bug。我希望在正式解决此问题之前找到解决方法。

最佳答案

这是哪个插件?

尝试以下

println downloadLicenses.class.name

那是打印任务的名称吗?我猜有一个名为downloadLicenses的扩展对象而不是一个任务

假设有一个downloadLicenses任务被downloadLicenses扩展对象“隐藏”了,这应该可以工作
tasks.getByName('downloadLicenses').doLast { ... }

如果“构建”目录是硬编码的,则应该向插件的作者提出问题

10-07 19:17