我有一个common.gradle文件,它有共同的属性
def custom = [
status: 'SNAPSHOT',
group: 'com.custom.proj',
version: [
core: '1.2.0.0',
modle: '1.2.0.0',
base: '1.2.0.0'
]
]
并在build.gradle中使用它
apply from: 'file:///E:/gradle/common.gradle'
task props << {
println "group" + custom.group
}
当我运行gradle道具低于错误时
出了什么问题: 任务':props'的执行失败。 无法在任务':props'上找到属性'custom'。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
答案 0 :(得分:2)
def custom =
声明一个局部变量,该变量在commons.gradle
之外不可见。相反,您可以在Project
对象上声明额外属性:
ext.custom = ... // shorthand for `project.ext.custom = ...`
使用情况将保持不变(例如custom.group
,不 ext.custom.group
)。
如果要在同一个(多项目)构建中的所有构建脚本之间共享custom
,那么将commons.gradle
应用于根项目就足够了,因为项目属性从父项继承到儿童项目。