この単純なbuild.gradle
スクリプトのデフォルト値を指定するにはどうすればよいですか。
println "Hello $build_version"
エラーが発生しないように:
A problem occurred evaluating root project 'hello_gradle'.
> Could not find property '$build_version' on root project 'hello_gradle'.
Nullのチェックなど、いくつかの演算子を試しましたが、プロパティへの参照だけでは失敗すると思います。私は常にプロパティを提供することでそれを修正できましたが、それは理想的ではありません。
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')}"
三項演算子を使用したワンライナー:
println "Hello ${project.hasProperty('build_version') ? getProperty('build_version') : 'World'}"
gradle <your_task> -Pbuild_version=SomethingElse