从子项目build.gradle访问root gradle build.gradle中的变量?

时间:2012-10-17 12:44:03

标签: groovy gradle

我有一个root 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中完成此全局变量共享?

1 个答案:

答案 0 :(得分:1)

我刚尝试过的一种方法(似乎有效)是声明另一个子项目(我称之为'spring'),它有以下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子项目中提取依赖项。

可能有更好的方法来实现相同的结果......: - /