Gradle:在项目依赖项中设置属性

时间:2016-09-05 16:36:07

标签: android gradle dependency-management

我正在寻找使用带有配置闭包的gradle设置项目依赖项属性的解决方案。我已经有了解决方案,但我的计算机崩溃了,我不记得我是怎么做到的。

我有以下Android项目结构:

/
-lib/
  - build.gradle
-app/
  - build.gradle
- build.gradle

lib:build.gradle我有一个ext关闭:

ext {
    username = null
    password = null
    serverUrl = 'example.com'
}

app:build.gradle中,我将lib添加为项目依赖项:

compile project(':lib')

在某种程度上,我实现了使用类似

的语句设置ext属性
compile project(path: ':lib', configClosure: { ext.username='test' })

不幸的是,这不是正确的陈述。但它是什么?

1 个答案:

答案 0 :(得分:2)

首先,您不需要使用其名称传递参数。就这样做:

compile project(':lib', { ext.username='test' })

第二个是,如果您想从外部设置属性,则不需要在lib:build.gradle中添加属性。所以你必须删除构建脚本的这一部分:

ext {
    username = null
}

如果你想从外面设置username。否则,外部的值将使用空值设置。

如果你有默认值,那么你必须在gradle.properties项目中创建一个:lib文件,并在这个属性文件中将这些值设置为:

username=test