Заменяет ли запись «обертка» в скрипте сборки Gradle место обертки Gradle (gradlew)? - PullRequest
0 голосов
/ 08 ноября 2018

Устраняет ли использование версии gradle в задаче обертки необходимость использовать gradlew?

wrapper {
    gradleVersion = '4.10.2'
}

task foo {
    println "...bar"
}

Оболочка, кажется, автоматически выполняется как часть фазы "Настройка проекта", и, если это так, кажется, "более чистым" способом управления этим (т. Е. Меньше файлов для обработки, встроенных в фактическую сборку Gradle). сценарий и т. д.).

Новичок в Gradle, просто пытаюсь разобраться ...

Добавить ...

Я добавил задачу "foo", чтобы прояснить причину путаницы.

1 - я выполняю скрипт, используя "gradle foo"

2 - отмечаю, что автоматически запускается задача «обертка»

Мое замешательство заключается в том, что, по-видимому, включение записи обертки заставит использовать правильную версию Gradle (то есть, в противном случае будет автоматически вызываться задача обертки). При проверке выясняется, что включение версии в задачу-оболочку - это еще один способ получить версию в файле свойств Gradle (наоборот, указав ее в командной строке при создании оболочки).

Живи и учись, спасибо за решение этого вопроса.

1 Ответ

0 голосов
/ 09 ноября 2018

Я выполняю сценарий, используя "gradle foo" 2 - В процессе я отмечаю, что автоматически запускается задача "обертка"

Нет, это не так. Если это так, то следующий скрипт выведет «hello»:

wrapper {
    gradleVersion = '4.10.2'
    doLast {
        println 'hello'
    }
}

task foo {
    println "...bar"
}

То, что вы видите, это конфигурация задачи оболочки, которая будет вызвана, если вы выполните gradle wrapper, и установит (или обновит) оболочку для версии 4.10.2 gradle в проекте.

Эта конфигурация задачи больше не нужна. Как указано в документации , вы можете вызвать задачу-оболочку и указать версию непосредственно в командной строке с помощью gradle wrapper --gradle-version 4.10.2.

Обратите внимание, что в вашем скрипте строка println "...bar" выполняется, когда задача foo сконфигурирована , а не когда выполнена . Что бы вы ни выполняли, вы всегда увидите на консоли bar....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...