Как найти rootProject в Gradle 3.2.1
АТМ, я прохожу руководство пользователя gradle по адресу https://docs.gradle.org/current/userguide/multi_project_builds.html
Я просто следовал инструкциям там и дважды, трижды и четыре раза проверил, что я сделал, но по какой-то причине я продолжаю сталкиваться с
Could not set unknown property 'producerMessage' for root project 'messages' of type org.gradle.api.Project.
И я не могу понять, в чем проблема (то же самое касается двух коллег).
У кого-то здесь есть какой-то опыт, или он просто понял, что "О, проблема в том..."??? Может быть, я сейчас слишком слеп.
Мой вопрос в основном, как мне объявить свойство в rootProject и почему я не могу найти этот шаг в руководстве пользователя?
settings.gradle
include 'consumer', 'producer'
Потребитель / build.gradle
task action {
doLast {
println("Consuming message: ${rootProject.producerMessage}")
}}
продюсер / build.gradle
task action {
doLast {
println "Producing message:"
rootProject.producerMessage = 'Watch the order of execution.'
}}
1 ответ
Вы должны объявить переменную в корневом проекте, прежде чем пытаться использовать ее в подпроектах. Итак, вы должны добавить build.gradle
файл в папке с settings.gradle
файл и объявить эту переменную в нем, например, следующим образом:
ext.producerMessage = null
Это просто проблема с необъявленной переменной. Вы также можете взглянуть на источники, чтобы увидеть, что они объявлены. Проблема в том, что руководство пользователя не говорит о том, что вам нужен еще один файл с объявлением переменной.