Ответ 1
if (!project.hasProperty("build_version")) {
ext.build_version = "1.0"
}
Как я могу указать значение по умолчанию для этого простого build.gradle
script:
println "Hello $build_version"
Так что я не получаю ошибку:
A problem occurred evaluating root project 'hello_gradle'.
> Could not find property '$build_version' on root project 'hello_gradle'.
Я пробовал некоторые из операторов, проверяя нули и т.д., но я думаю, что просто ссылка на свойство заставляет его терпеть неудачу. Я мог бы исправить это, всегда предоставляя свойство, но это не идеальное.
gradle -Pbuild_version=World
if (!project.hasProperty("build_version")) {
ext.build_version = "1.0"
}
Это проверяет, существует ли свойство и присваивает значение по умолчанию, если нет:
def build_version=project.properties['build_version'] ?: "nokey"
Это сработало для меня:
def AWS_ACCESS_KEY="nokey"
def AWS_SECRET_KEY="nokey"
if (project.hasProperty("AWS_ACCESS_KEY")) {
AWS_ACCESS_KEY=project.get("AWS_ACCESS_KEY")
}
if (project.hasProperty("AWS_SECRET_KEY")) {
AWS_SECRET_KEY=project.get("AWS_SECRET_KEY")
}
Я добавляю это в свой build.gradle:
String propValue(String propName, String defValue) {
(project.hasProperty(propName) && project.getProperty(propName)) ? project.getProperty(propName) : defValue
}
затем используйте, если необходимо propValue('build_version', 'nokey')
.
Вы пробовали это?
println "Hello ${project.getProperty('build_version', 'default_string_value')}"