我在build.gradle中设置了buildDir
,除了一个插件之外的所有插件都支持该设置。对于坚持创建build/reports/license/
并将其输出放在那里的人,我想将这些文件移到我的${buildDir}
。
我尝试在任务中添加doLast
块
downloadLicenses {
// ...
doLast {
file("build/reports/license").renameTo("${buildDir}/reports");
}
}
但Gradle抱怨
无法在根项目' myProject'上找到参数[build_3s5ts0z1u2ed2z2xpd2pa56i $ _run_closure50 $ _closure144 @ 4d98efa4]的方法doLast()。
我在这里缺少什么,如何在任务完成后移动文件?
编辑:有问题的插件是License Gradle Plugin,我做了report this as a bug。我希望在正式修复之前找到解决方法。
答案 0 :(得分:2)
这是哪个插件?
尝试以下
println downloadLicenses.class.name
这是打印任务的名称吗?我猜测有一个名为downloadLicenses
的扩展对象而不是任务
假设有一个downloadLicenses
任务被downloadLicenses
扩展对象“隐藏”,这应该可行
tasks.getByName('downloadLicenses').doLast { ... }
如果“build”目录是硬编码的,那么你应该提出插件的作者
的问题答案 1 :(得分:0)
我不确定我是否理解了您的问题,但是,如果您想将文件移至$ {buildDir} / reports,我认为这应该是您的doLast
块:
doLast {
file("build/reports/license").renameTo(file("${buildDir}/reports"));
}
我希望我能帮到你!