【发布时间】:2017-09-29 21:04:56
【问题描述】:
我有一个包含 21 个子项目的项目。其中一个子项目有自己的 build.gradle 文件,因为它有点晦涩。
现在,我在构建阶段有一个配置设置,这是配置阶段所需的。所以,在我的插件中我有
project.afterEvaluate {
if (project == project.rootProject) {
project.allprojects.each { proj ->
MetaExtension config = proj.getExtensions().getByType(MetaExtension)
if (config.inventoryHash == null){
throw new ProjectHashNotSetException(proj.name)
}
}
}
}
现在,如果我将所有内容都放在一个 build.gradle 文件中,则一切正常。但是,一旦我将第 21 个子项目分解为它自己的 build.gradle 文件,它现在总是返回为空。复制并过去回到一个 build.gradle 文件,工作正常,2个 gradle 文件,失败。
为什么会这样?
【问题讨论】:
-
第21个子项目的build.gradle文件内容是什么?和这里引用的一样吗?另外,您提到了一个插件。你在写插件吗?
-
LOL,该项目是一系列插件。这是小的。第 21 个 build.gradle 文件的内容是一个自定义依赖编译器,用于几年前一些脑外科医生决定在我公司发明的一种语言。
-
那么根项目是否知道子项目呢?你的
settings.gradle?里有什么
标签: gradle