在buildscript块中访问Gradle全局属性

时间:2016-12-01 23:23:35

标签: gradle

我的主要Gradle脚本:

buildscript {scriptHandler->
    apply from: "......./repositories.gradle", to: scriptHandler
}

加载repositories.gradle脚本:

repositories{
    maven {
        url = "myURL"
        credentials {
            username repositoryReadUsername
            password repositoryReadPassword
        }
    }
}

值repositoryReadUsername,repositoryReadPassword在gradle.properties文件中定义。

我收到错误:

  

评估脚本时出现问题。

     
    

无法获取类型的凭据[username:null]的未知属性“repositoryReadUsername”     org.gradle.api.internal.artifacts.repositories.DefaultPasswordCredentials_Decorated。

  

1 个答案:

答案 0 :(得分:1)

似乎无法在应用的buildscript中使用此属性。 Here is大多数问题相同,答案是:

  

脚本插件目前不受buildcript部分的影响   他们应用的构建脚本。 (实际上,这是值得怀疑的   子项目构建脚本是否应受buildcript的影响   父构建脚本的各个部分,即使它是这样的   目前是。)你可以做的是移动可重复使用的部分   将buildscript部分编译成自己的脚本插件

所以看来,您必须使用scriptplugins声明您的存储库或提供凭据,而不必从属性文件中获取它们。