我有以下build.gradle片段。
第一行工作正常,如果我没有指定版本,则使用1.0.0-SNAPSHOT。 但是第二行不起作用。我得到“无法为项目获取未知属性'appName'” 知道我如何在gradle中定义自定义属性并通过命令行传递它们吗?
version = "${version != 'unspecified' ? version : '1.0.0-SNAPSHOT'}"
appName = "${appName != 'unspecified' ? appName : 'test'}"
答案 0 :(得分:0)
您可以在Gradle DSL doc中找到所有Porject API的属性,这是导致“未知属性”问题的根本原因。
正如您所看到的,version
是Project
API属性的一部分,而appName
则不是。您也可以使用name
(引用rootProject.name
中的setting.gradle
)。
这是我的settings.gradle
:
rootProject.name = 'test-project'
以下是我在build.gradle
中添加的代码段:
ext {
version = "${version != 'unspecified' ? version : '1.0.0-SNAPSHOT'}"
println ("version is $version")
appName = "${name != 'unspecified' ? name : 'test'}"
println ("name is $appName")
projectName = "${project != 'unspecified' ? project : 'test'}"
println ("projectName is $projectName")
}
这是输出:
> Configure project :
version is 1.0.0-SNAPSHOT
name is test-project
projectName is root project 'test-project'