Очевидно, я не понимаю, что здесь происходит.
Я думаю, что prop2 и prop3 недоступны, потому что они являются переменными, а не "свойствами проекта".
Вопрос возник, потому что я хотел бы, чтобы переменные prop2 и prop3 были видны из метода "doTheThing ()", но я не хочу их передавать. Я хочу, чтобы переменные были глобально доступны для задачи, методы и классы (но только изнутри самого скрипта сборки) - и я хочу, чтобы они были напечатаны (поэтому определение prop1 неприемлемо).
Правда, я думаю, мне нужна помощь в понимании того, что такое свойство проекта Gradle и что на самом деле делает синтаксис prop1 = "blah".
Я прочитал руководство пользователя Gradle, а также Gradle in Action - если они уже объясняют эту концепцию, пожалуйста, укажите мне на правильный раздел (возможно, я упустил из виду его в то время, не понимая, что говорится).
prop1 = "blah"
String prop2 = "bleah"
def prop3 = "blargh"
task testPropAccess << {
println "1: $prop1"
println "2: $prop2"
println "3: $prop3"
doTheThing()
}
private void doTheThing(){
println "4: $prop1"
println "5: $prop2" // error: Could not find property 'prop2' on root project 'script'
println "6: $prop3" // error: Could not find property 'prop3' on root project 'script'
}