是否可以指定构建脚本使用的任意属性文件?

时间:2014-12-17 20:22:39

标签: gradle

我创建了一种具有以下结构的入门应用程序:

  • 根文件夹
    • 客户项目
    • 服务器项目
    • 数据库项目
    • 分析项目
    • libs.properties

基本上,每个项目都是隔离的,并且拥有自己的build.gradle脚本。最初我为所有项目创建了一个gradle.properties文件,并在那里添加了不同的库版本。

由于我想将库版本保存在一个地方,我想在所有build.gradle脚本中导入libs.properties并使用依赖项部分中的库属性。

然而,我没有找到一种方法来指定可以在build.gradle脚本中导入的其他属性文件。理想情况下它会看起来......像这样:

apply plugin: "java"

importProperties: "../libs.properties" 

dependencies {
    compile "org.eclipse.jetty:jetty-webapp:${jettyVersion}"
}

1 个答案:

答案 0 :(得分:1)

对于您正在寻找的内容没有开箱即用的机制,但您可以使用以下代码(您需要将所有属性重写为ext):

<强>的build.gradle

apply plugin: 'java'

def props = new Properties()
new File('lib.properties').withInputStream { 
  stream -> props.load(stream) 
}
for(p in props) {
    project.ext[p.key] = p.value
}

repositories {
   mavenCentral()
}

dependencies {
   compile "org.eclipse.jetty:jetty-webapp:${jettyVersion}"
}

<强> lib.properties

jettyVersion=9.2.6.v20141205