如何在Gradle buildSrc和项目的其余部分之间共享变量?

Mat*_*mes 9 gradle

我有一个Gradle项目,它有一个buildSrc目录.主项目和buildSrc项目都需要知道Artifactory服务器的URL.我想将URL保存在一个地方,我希望它保存在源代码管理中.我尝试将URL添加到gradle.properties文件中,但这似乎只能由主项目获取,而不是由buildSrc项目获取.

我如何在两者之间共享房产?

Mic*_*das 5

要读取项目属性,您可以将其放在buildSrc/build.gradle以下代码片段的开头:

def props = new Properties() 
rootDir.toPath().resolveSibling(GRADLE_PROPERTIES).toFile().withInputStream {
    props.load(it)
}
props.each { key, val -> project.ext."$key" = val }
Run Code Online (Sandbox Code Playgroud)


Pet*_*ser 0

没有内置的方法可以在buildSrc构建和主构建之间共享信息。但是,您可以从两者中读取您自己的属性文件(使用java.lang.Properties)。