2012-10-17 77 views
2

我有一個包含一些變量我想有作爲一些子項目的全局變量,但不是所有的子項目從子項目build.gradle訪問根Gradle build.gradle中的變量?

我創建的列表根的build.gradle:

List spring_dependencies = [ 
    "org.springframework:spring-beans:$springVersion", 
    "org.springframework:spring-core:$springVersion", 
    "org.springframework:spring-web:$springVersion", 
] 

我有一些suprojects是做不要使用此編譯的,所以我只想補充:

compile spring_dependencies 

到實際需要春天的項目。

我該如何在gradle中完成這個全局變量共享?

+0

'編譯gradle.parent.spring_dependencies'工作嗎? (不知道) –

+0

不,我得到這個錯誤:>無法獲得null對象的屬性'spring_dependencies' –

回答

1

一種方法我剛纔想(和它似乎工作)是聲明另一個子項目(我把它叫做「春天」),它具有以下build.gradle

apply plugin: 'java' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile "org.springframework:spring-beans:$springVersion" 
    compile "org.springframework:spring-core:$springVersion" 
    compile "org.springframework:spring-web:$springVersion" 
} 

在加入這個項目到子項目的settings.gradle列表,然後在需要的春天庫build.gradle,你可以這樣做:

apply plugin: 'java' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile project(':spring') 
} 

要從spring子項目中提取的依賴關係。

可能有更好的方法來達到相同的結果...: -/