2014-10-27 160 views
6

我有一個具有buildSrc目錄的Gradle項目。主項目和buildSrc項目都需要知道Artifactory服務器的URL。我想將這個URL保存在一個地方,我希望將它保存在源代碼管理中。我嘗試將URL添加到gradle.properties文件中,但似乎只能被主項目拾取,而不能被buildSrc項目拾取。如何在Gradle buildSrc和其餘項目之間共享變量?

我該如何分享兩者之間的財產?

回答

0

沒有內置的方式來共享buildSrc構建和主構建之間的信息。但是,您可以從兩者中讀取自己的屬性文件(使用java.lang.Properties)。

3

在Gradle中,buildSrcdifferent build,不僅僅是主項目中的一個項目。因此,在主構建和buildSrc之間共享屬性等的最簡單方法是將其放入單獨的gradle/sharedProperties.gradle文件中。然後,你的主要項目build.gradle可以使用

apply from: 'gradle/sharedProperties.gradle' 

buildSrc/build.gradle可以使用

apply from: '../gradle/sharedProperties.gradle' 
0

進行簡單的閱讀項目屬性,你可以把在buildSrc/build.gradle在開始下面的代碼片段:

def props = new Properties() 
props.load(new FileInputStream(GRADLE_PROPERTIES)) 
props.each { key, val -> extensions."$key" = val }