Пытаюсь понять свойства проекта Gradle

Я явно не понимаю, что здесь происходит.

Я полагаю, что к 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'
}
10
задан Shorn 10 October 2011 в 07:28
поделиться