Gradle:“apply from”在脚本的其余部分之前得到评估?

时间:2013-12-24 17:37:42

标签: gradle

我有多个组件/ JAR的多项目脚本。 每个子脚本/项目都定义了componentTitle:

ext {
    componentTitle = 'Application1'
}

apply from: '../war/gradle/component.gradle'

共享代码位于component.gradle:

apply plugin: 'java'

jar {
    manifest {
        attributes 'Implementation-Title': componentTitle    }
}

我收到错误:

评估脚本时出现问题。

  

清单属性的值不能为空。

这意味着在计算子脚本时没有定义componentTitle。 componentTitle定义在“apply from”语句之前。

1 个答案:

答案 0 :(得分:2)

应用的脚本会在apply from: ...处准确评估(通过添加一些println很容易确认)。一定有其他一些问题。您可以尝试的一件事是将'Implementation-Title': componentTitle替换为'Implementation-Title': project.componentTitle,尽管它不应该有所作为。