如何在初始化脚本中设置全局Gradle属性?

时间:2019-07-01 19:23:25

标签: gradle

我想将公司特定的配置从我的~/.gradle/gradle.properties移到一个初始化脚本~/.gradle/company.init.gradle中。不幸的是,我无法像在gradle.properties文件中那样,想出如何在初始化脚本中定义全局Gradle属性的方法。

我的~/.gradle/gradle.properties当前具有:

org.gradle.daemon=true
org.gradle.caching=true
com.company.artifactory.username=drew.stephens@company.com
com.company.artifactory.apiKey=<api_key>
com.company.artifactory.contextUrl=https://company.jfrog.io/company

我想将这些Artifactory值移至公司特定的初始化脚本~/.gradle/company.init.gradle(主要是因为我将gradle.properties提交给home directory repo):

gradle.allprojects {
    com.company.artifactory.username=drew.stephens@company.com
    com.company.artifactory.apiKey=<api_key>
    com.company.artifactory.contextUrl=https://company.jfrog.io/company
}

但是这些方法都无法通过我的buildscript访问该属性:

task('foobar') {
    // Outputs "null"
    println(project.properties['com.company.artifactory.username'])
}

2 个答案:

答案 0 :(得分:1)

Gradle 5.5开始,您可以将gradle.properties放在custom Gradle distribution中。

我不知道在初始化脚本中设置这些属性的方法。

答案 1 :(得分:0)

根据gradle.allprojects,您的配置操作针对所有当前可用和已评估的项目,并且在评估新项目之后进行。根据我对您要实现的目标的了解,我相信gradle.beforeProject是添加属性的地方。

相关问题