Grails 3: задачи «grails» и «gradlew»

Я экспериментирую с Grails 3, который полностью основан на Gradle. Чтобы создать приложение, я запускаю:

grails create-app myapp

Затем, чтобы интегрировать его с Eclipse, я запускаю:

gradlew eclipse

Затем, чтобы создать новый контроллер, я запускаю:

grails create-controller org.me.myapp.test

Затем, чтобы запустить какую-то пользовательскую задачу Gradle, я запускаю:

gradlew mytask

Думаю, я запутался в том, какие задачи я запускаю через grails, а какие через gradlew. Похоже, что по этому вопросу не существует документации - есть идеи?


person smeeb    schedule 27.04.2015    source источник
comment
Действительно, никто из сообщества Grails еще не поддерживает Grails 3? Бьюллер...   -  person smeeb    schedule 28.04.2015


Ответы (1)


Приложение Grails не существует, пока вы не запустите

grails create-app MyApp

После этого gradle доступен через обертку. Просто перейдите в каталог MyApp и спросите сгенерированную оболочку gradle, что она может сделать:

./gradlew tasks

Ух ты! Это много всего...

Для получения дополнительной информации посетите: https://grails.github.io/grails-doc/latest/guide/commandLine.html#gradleBuild

Но... В начале все команды Grails должны были быть доступны через оболочку gradle, но команда разработчиков обнаружила некоторые неприятные вещи в конце разработки 3.0 и была вынуждена отложить эту идею... Итак, начиная с 3.0.9, все Задачи генерации кода по-прежнему выполняются с помощью старой доброй, знакомой команды Grails. Нужен сумасшедший человек? Просто используйте:

grails create-domain crazy.Person

Но если вы хотите запустить свои модульные тесты Crazy.Person, вы используете:

./gradlew test --tests *Person*

Или протестируйте их все:

./gradlew test

Прозрачный как грязь? спойлер Изменения в Grails 3.1 могут сделать взаимодействие менее шизофреническим.

person durp    schedule 16.10.2015