我正在寻找使用带有配置闭包的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' })
不幸的是,这不是正确的陈述。但它是什么?
答案 0 :(得分:2)
首先,您不需要使用其名称传递参数。就这样做:
compile project(':lib', { ext.username='test' })
第二个是,如果您想从外部设置属性,则不需要在lib:build.gradle
中添加属性。所以你必须删除构建脚本的这一部分:
ext {
username = null
}
如果你想从外面设置username
。否则,外部的值将使用空值设置。
如果你有默认值,那么你必须在gradle.properties
项目中创建一个:lib
文件,并在这个属性文件中将这些值设置为:
username=test