Gradle@3 — задача Gradle версии 3
Используйте эту задачу для сборки с помощью скрипта-оболочки Gradle.
Синтаксис
# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
inputs:
gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
#workingDirectory: # string. Alias: cwd. Working directory.
#options: # string. Options.
tasks: 'build' # string. Required. Tasks. Default: build.
# JUnit Test Results
#publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
#testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title.
# Code Coverage
#codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
#codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters.
#codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
#codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
# Advanced
javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
#jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
#jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path.
#jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
#gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
# Code Analysis
#sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
#sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
#sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
#checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
#findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
#pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
#spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
#spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
#spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.
Входные данные
gradleWrapperFile
- Оболочка Gradle
Входной псевдоним: wrapperScript
. string
. Обязательный. Значение по умолчанию: gradlew
.
Указывает расположение оболочки gradlew
в репозитории, который будет использоваться для сборки. Агенты в Windows (включая агенты, размещенные в Майкрософт) должны использовать оболочку gradlew.bat
. Агенты в Linux или macOS могут использовать скрипт оболочки gradlew
. Дополнительные сведения о программе-оболочке Gradle.
workingDirectory
- Рабочий каталог
Входной псевдоним: cwd
. string
.
Указывает рабочий каталог для запуска сборки Gradle. Задача использует корневой каталог репозитория, если рабочий каталог не указан.
options
- Параметры
string
.
Указывает параметры командной строки, которые будут переданы в оболочку Gradle. Дополнительные сведения см. в разделе Командная строка Gradle .
tasks
- Задачи
string
. Обязательный. Значение по умолчанию: build
.
Задачи для выполнения Gradle. Список имен задач должен быть разделен пробелами и может быть взят из gradlew tasks
выданной из командной строки.
Дополнительные сведения см. в статье Основные сведения о скрипте сборки Gradle .
publishJUnitResults
- Публикация в Azure Pipelines
boolean
. Значение по умолчанию: true
.
Публикует результаты тестов JUnit, созданные сборкой Gradle, в Azure Pipelines. Задача публикует каждый файл результатов теста в Test Results Files
виде тестового запуска в Azure Pipelines.
testResultsFiles
- Файлы результатов тестирования
string
. Требуется при .publishJUnitResults = true
Значение по умолчанию: **/TEST-*.xml
.
Путь к файлу для результатов тестирования. Можно использовать подстановочные знаки. Например, для всех XML-файлов, **/TEST-*.xml
имя которых начинается с TEST-
.
testRunTitle
- Заголовок тестового запуска
string
. Необязательный элемент. Используйте при publishJUnitResults = true
.
Предоставляет имя для результатов тестового случая JUnit для этой сборки.
codeCoverageToolOption
- Средство покрытия кода
Входной псевдоним: codeCoverageTool
. string
. Допустимые значения: None
, Cobertura
, JaCoCo
. Значение по умолчанию: None
.
Указывает средство покрытия кода для определения кода, на который распространяется тестовые случаи для сборки.
codeCoverageClassFilesDirectories
- Каталоги файлов классов
Входной псевдоним: classFilesDirectories
. string
. Требуется при .codeCoverageTool != None
Значение по умолчанию: build/classes/main/
.
Разделенный запятыми список каталогов, содержащих файлы классов и архивные файлы (.jar, .war и т. д.). Объем протестированного кода отображается для файлов классов в этих каталогах. Как правило, задача ищет классы в ( build/classes/java/main
для Gradle 4+), который является каталогом классов по умолчанию для сборок Gradle.
codeCoverageClassFilter
- Фильтры включения и исключения классов
Входной псевдоним: classFilter
. string
. Необязательный элемент. Используйте при codeCoverageTool != None
.
Разделенный запятыми список фильтров для включения или исключения классов из сбора объема протестированного кода. Например, +:com.*
,+:org.*
.-:my.app*.*
codeCoverageFailIfEmpty
- Сбой при отсутствии результатов покрытия кода
Входной псевдоним: failIfCoverageEmpty
. boolean
. Необязательный элемент. Используйте при codeCoverageTool != None
. Значение по умолчанию: false
.
Завершается сбоем сборки, если объем протестированного кода не дает результатов для публикации.
codeCoverageGradle5xOrHigher
- Версия >Gradle = 5.x
Входной псевдоним: gradle5xOrHigher
. boolean
. Необязательный элемент. Используйте при codeCoverageTool = JaCoCo
. Значение по умолчанию: true
.
Установите для этого параметра значение true, если версия gradle = >5.x.
javaHomeOption
- Задать JAVA_HOME
Входной псевдоним: javaHomeSelection
. string
. Обязательный. Допустимые значения: JDKVersion
(версия JDK), Path
. Значение по умолчанию: JDKVersion
.
Задает JAVA_HOME путем выбора версии JDK, обнаруженной задачей во время сборки, или путем ввода пути JDK вручную.
jdkVersionOption
- Версия JDK
Входной псевдоним: jdkVersion
. string
. Необязательный элемент. Используйте при javaHomeSelection = JDKVersion
. Допустимые значения: default
, 1.11
(JDK 11), 1.10
(JDK 10 (не поддерживается)), 1.9
(JDK 9 (не поддерживается)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (не поддерживается)). Значение по умолчанию: default
.
Пытается найти путь к выбранной версии JDK и задать JAVA_HOME соответствующим образом.
jdkDirectory
- Путь JDK
Входной псевдоним: jdkUserInputPath
. string
. Требуется при .javaHomeSelection = Path
Задает JAVA_HOME заданный путь.
jdkArchitectureOption
- Архитектура JDK
Входной псевдоним: jdkArchitecture
. string
. Необязательный элемент. Используйте при jdkVersion != default
. Допустимые значения: x86
, x64
. Значение по умолчанию: x64
.
Предоставляет архитектуру JDK (x86 или x64).
gradleOptions
- Задать GRADLE_OPTS
Входной псевдоним: gradleOpts
. string
. Значение по умолчанию: -Xmx1024m
.
Задает переменную среды GRADLE_OPTS, которая используется для отправки аргументов командной строки для запуска виртуальной машины Java. Флаг xmx
указывает максимальный объем памяти, доступный для виртуальной машины Java.
sonarQubeRunAnalysis
- Запуск SonarQube или SonarCloud Analysis
Входной псевдоним: sqAnalysisEnabled
. boolean
. Значение по умолчанию: false
.
Этот параметр изменился с версии 1 задачи Gradle на использование расширений Marketplace SonarQube и SonarCloud . Включите этот параметр, чтобы выполнять анализ SonarQube или SonarCloud после выполнения задач в поле Задачи . Кроме того, перед этой задачей Gradle необходимо добавить задачу "Подготовка конфигурации анализа " из одного из расширений в конвейер сборки.
sqGradlePluginVersionChoice
- Сканер SonarQube для версии Gradle
string
. Требуется, если sqAnalysisEnabled = true
. Допустимые значения: specify
(Укажите номер версии), build
(используйте подключаемый модуль, примененный в build.gradle). Значение по умолчанию: specify
.
Указывает используемую версию подключаемого модуля SonarQube Gradle. Объявите версию в файле конфигурации Gradle или укажите версию с помощью этой строки.
sonarQubeGradlePluginVersion
- Сканер SonarQube для версии подключаемого модуля Gradle
Входной псевдоним: sqGradlePluginVersion
. string
. Требуется, если sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify
. Значение по умолчанию: 2.6.1
.
Содержит номер версии подключаемого модуля SonarQube Gradle.
checkStyleRunAnalysis
- Запуск checkstyle
Входной псевдоним: checkstyleAnalysisEnabled
. boolean
. Значение по умолчанию: false
.
Запускает средство Checkstyle с проверками Sun по умолчанию. Результаты передаются в виде артефактов сборки.
findBugsRunAnalysis
- Запуск FindBugs
Входной псевдоним: findbugsAnalysisEnabled
. boolean
. Значение по умолчанию: false
.
Использует средство статического анализа FindBugs для поиска ошибок в коде. Результаты передаются в виде артефактов сборки. В Gradle 6.0 этот подключаемый модуль был удален. Вместо этого используйте подключаемый модуль SpotBugs.
pmdRunAnalysis
- Запуск PMD
Входной псевдоним: pmdAnalysisEnabled
. boolean
. Значение по умолчанию: false
.
Использует средство статического анализа JAVA PMD для поиска ошибок в коде. Результаты передаются в виде артефактов сборки.
spotBugsAnalysis
- Запуск SpotBugs
Входной псевдоним: spotBugsAnalysisEnabled
. boolean
. Значение по умолчанию: false
.
Выполняется spotBugs
при true
. Этот подключаемый модуль работает с Gradle версии 5.6 или более поздней версии. Дополнительные сведения об использовании подключаемого модуля SpotBugs Gradle. Подключаемый модуль может работать непредвиденным образом или вообще не работать с более ранней версией Gradle.
spotBugsGradlePluginVersionChoice
- Версия подключаемого модуля Spotbugs
string
. Требуется, если spotBugsAnalysisEnabled = true
. Допустимые значения: specify
(Укажите номер версии), build
(используйте подключаемый модуль, примененный в build.gradle). Значение по умолчанию: specify
.
Указывает используемую версию подключаемого модуля SpotBugs Gradle. Версию можно объявить в файле конфигурации Gradle или указать в этой строке.
spotbugsGradlePluginVersion
- Номер версии
string
. Требуется, если spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify
. Значение по умолчанию: 4.7.0
.
Содержит номер версии подключаемого модуля SpotBugs Gradle.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.
Выходные переменные
Нет.
Remarks
Конфигурация анализа SonarQube была перемещена в расширения SonarQube или SonarCloud в задаче Prepare Analysis Configuration
.
Используйте эту задачу для сборки с помощью скрипта-оболочки Gradle.
Разделы справки создать оболочку из проекта Gradle?
Оболочка Gradle позволяет агенту сборки скачивать и настраивать точную среду Gradle, которая возвращается в репозиторий, не имея никакой конфигурации программного обеспечения в самом агенте сборки, кроме виртуальной машины Java.
Создайте оболочку Gradle, выполнив следующую команду из корневого каталога проекта, в котором находится файл build.gradle:
jamal@fabrikam> gradle wrapper
Отправьте оболочку Gradle в удаленный репозиторий.
Существует двоичный артефакт, который создается оболочкой gradle (находится в ).
gradle/wrapper/gradle-wrapper.jar
Этот двоичный файл имеет небольшой размер и не требует обновления. Если необходимо изменить конфигурацию Gradle в агенте сборкиgradle-wrapper.properties
, обновите .Репозиторий должен выглядеть примерно так:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Разделы справки исправлять время ожидания при скачивании зависимостей?
Чтобы устранить ошибки, такие как Read timed out
при скачивании зависимостей, пользователи Gradle 4.3+ могут изменить время ожидания, добавив -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
в Options
. Это увеличивает время ожидания с 10 секунд до 1 минуты.
Примеры
Создание приложения Java с помощью Gradle
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | Нет |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 1.91.0 или более поздней версии |
Категория задач | Сборка |