Статьи

Удобство командной строки Gradle

В моем посте  Первый взгляд на построение Java с Gradle , я кратко упомянул , используя  Gradle «s„ gradle tasksкоманду“ , чтобы увидеть доступные задачи для конкретного Gradle сборки. В этом посте я немного подробнее остановлюсь на этом кратком упоминании и рассмотрю некоторые связанные удобства командной строки Gradle.

Gradle позволяет легко определить доступные задачи Gradle для данного проекта. Следующий снимок экрана демонстрирует использование  gradle tasks (или  gradle :tasks) в той же директории, что и простой файл сборки Gradle ( build.gradle), который я использовал в  моем предыдущем сообщении Gradle . Снимки экрана соответствуют списку кодов,  build.gradle который приведен здесь для удобства.

Базовое Java-приложение build.gradle

apply plugin: 'java'  

Добавление  --all к  gradle tasks ( gradle tasks --all) покажет еще больше деталей (включая зависимости задач), как показано на следующем снимке экрана.

Что-то, что я часто делал при работе с   новым файлом сборки Ant , — это добавление целевого объекта «showProperties», который использовал серию задач Ant  echo  для отображения свойств, используемых этим файлом сборки. По сути, Gradle предоставляет эту возможность «из коробки». Следующий снимок экрана демонстрирует использование  gradle -q properties для отображения свойств, связанных с проектом Gradle и задач в  build.gradle файле в том же каталоге.

Another useful command-line Gradle option is --profile. This can be used in conjunction with running a Gradle command. For example, gradle tasks --profile generates the same standard output as shown above, but also writes build performance statistics to a file with the naming convention profile-YYYY-MM-DD-HH-mm-ss.html in the build/reports/profile subdirectory of the directory from which the build was executed. An example of that generated file is shown next.

The final Gradle command-line option I cover in this post is the «dry run» option -m (or --dry-run). This option allows one to see the Gradle tasks which are run and the order in which they are run without actually executing those tasks. Because the one-line Gradle build.gradle file used in this post applies the Java plugin, the automatically added Gradle Tasks include compileJavaclassesjar, and javadoc. The following screen snapshot demonstrates running gradle -m jar to see the dry run output that shows the dependent tasks that must be run before «jar» and the order they must be run (compileJava->processResources->classes->jar). Note «SKIPPED» notation indicating that the Gradle tasks are not actually executed.

Chapter 11 («Using the Gradle Command-Line») of the Gradle User Guide (PDF) contains additional details regarding use of Gradle’s command-line interface with sections on listing projectslisting taskslisting project dependencieslisting project properties, and listing the order Gradle tasks are executed.