Как использовать свойства gradle в build.Gradle в
когда я запускаю эту задачу:
task tmpTask << {
project.properties.each {println " $it"}
}
Я вижу:
org.gradle.java.home=/usr/lib/jvm/java-6-oracle
но как использовать эту переменную? Я пробовал так:
task tmpTask << {
println org.gradle.java.home
println project.properties.org.gradle.java.home
}
но ничего из этого не работает. Первая печать дает ошибку:
Could not find property 'org' on task ':tmpTask'.
в то время как второй выдает:
Cannot get property 'gradle' on null object
2 ответов
project.properties
это Map<String, ?>
так что вы можете использовать
project.properties['org.gradle.java.home']
вы также можете использовать property () способ (но это выглядит в дополнительных местах):
project.property('org.gradle.java.home')
для чьей-либо выгоды. Если свойство, которое вы определяете, не разделено точкой, вы можете просто обратиться к нему напрямую.
в своем gradle.properties
:
myProperty=This is my direct property
my.property=This is my dotted property with\t\t tabs \n and newlines
в своем build.gradle
:
// this works
println myProperty
println project.property('my.property')
// this will not
println my.property