【发布时间】:2016-02-03 15:29:02
【问题描述】:
我有一个 gradle c/cpp 项目,其中有 rootProject/project/subProject
在我的根 build.gradle 我有
ext.libFolder = rootDir.toString + '/lib/'
subprojects {
build.doLast {
copy {
from fileTree ( buildDir.getCanonicalPath() ).files
into rootProject.ext.libFolder
include '*.so'
include '*.a'
}
}
}
当我这样做时,这完美地工作: gradle build 但如果我做 gradle :project:subProject:build 它不起作用...无论我如何调用构建任务,我需要更改什么才能使这项工作?
顺便说一句,我们正在尝试使所有 subProject build.gradle 文件尽可能地最小化、尽可能简单并且在结构上尽可能地相同,因为我们有超过 780 个文件。
edit:我已经添加了如下所示的清理任务,这样 gradle 就会知道文件已被清理。然而,这似乎不会影响构建任务在调用 gradle build 以外的任何方式时不会运行 doLast 任务的核心问题。
clean {
delete rootProject.ext.includesFolder
delete rootProject.ext.libfolder
}
【问题讨论】: