tarefa Gradle@3 - Gradle v3

Use esta tarefa para compilar usando um script de wrapper Gradle.

Syntax

# 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.

Entradas

gradleWrapperFile - Wrapper Gradle
Alias de entrada: wrapperScript. string. Obrigatórios. Valor padrão: gradlew.

Especifica a gradlew localização do wrapper no repositório que será usado para o build. Os agentes no Windows (incluindo agentes hospedados pela Microsoft) devem usar o gradlew.bat wrapper. Os agentes no Linux ou no macOS podem usar o script de gradlew shell. Saiba mais sobre o Wrapper Gradle.


workingDirectory - Diretório de trabalho
Alias de entrada: cwd. string.

Especifica o diretório de trabalho para executar o build do Gradle. A tarefa usará o diretório raiz do repositório se o diretório de trabalho não for especificado.


options - Opções
string.

Especifica as opções de linha de comando que serão passadas para o wrapper Gradle. Confira Linha de Comando do Gradle para obter mais informações.


tasks - Tarefas
string. Obrigatórios. Valor padrão: build.

As tarefas para Gradle executar. Uma lista de nomes de tarefas deve ser separada por espaços e pode ser retirada de um prompt de gradlew tasks comando.

Consulte Gradle Build Script Basics para obter mais informações.


publishJUnitResults - Publicar no Azure Pipelines
boolean. Valor padrão: true.

Publica os resultados do teste JUnit produzidos pelo build do Gradle no Azure Pipelines. A tarefa publica cada arquivo de resultados de teste correspondente Test Results Files como uma execução de teste no Azure Pipelines.


testResultsFiles - Arquivos de resultados de teste
string. Obrigatório quando publishJUnitResults = true. Valor padrão: **/TEST-*.xml.

O caminho do arquivo para os resultados do teste. Curingas podem ser usados . Por exemplo, **/TEST-*.xml para todos os arquivos XML cujo nome começa com TEST-.


testRunTitle - Título da execução de teste
string. Opcional. Use quando publishJUnitResults = true.

Fornece um nome para os resultados do caso de teste JUnit para este build.


codeCoverageToolOption - Ferramenta de cobertura de código
Alias de entrada: codeCoverageTool. string. Valores permitidos: None, Cobertura, JaCoCo. Valor padrão: None.

Especifica uma ferramenta de cobertura de código para determinar o código coberto pelos casos de teste para o build.


codeCoverageClassFilesDirectories - Diretórios de arquivos de classe
Alias de entrada: classFilesDirectories. string. Obrigatório quando codeCoverageTool != None. Valor padrão: build/classes/main/.

A lista separada por vírgulas de diretórios que contêm arquivos de classe e arquivos de arquivo morto (.jar, .war e muito mais). A cobertura de código é relatada para arquivos de classe nesses diretórios. Normalmente, a tarefa pesquisa classes em build/classes/java/main (para Gradle 4+), que é o diretório de classe padrão para builds Gradle.


codeCoverageClassFilter - Filtros de inclusão/exclusão de classe
Alias de entrada: classFilter. string. Opcional. Use quando codeCoverageTool != None.

A lista separada por vírgulas de filtros para incluir ou excluir classes da coleta de cobertura de código. Por exemplo: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Falha quando os resultados da cobertura de código estão ausentes
Alias de entrada: failIfCoverageEmpty. boolean. Opcional. Use quando codeCoverageTool != None. Valor padrão: false.

Falha no build se a cobertura de código não produzir resultados a serem publicados.


codeCoverageGradle5xOrHigher - Versão do Gradle >= 5.x
Alias de entrada: gradle5xOrHigher. boolean. Opcional. Use quando codeCoverageTool = JaCoCo. Valor padrão: true.

Defina isso como 'true' se a versão do gradle for >= 5.x.


javaHomeOption - Definir JAVA_HOME por
Alias de entrada: javaHomeSelection. string. Obrigatórios. Valores permitidos: JDKVersion (Versão do JDK), Path. Valor padrão: JDKVersion.

Define JAVA_HOME selecionando uma versão do JDK que a tarefa descobre durante builds ou inserindo manualmente um caminho JDK.


jdkVersionOption - Versão do JDK
Alias de entrada: jdkVersion. string. Opcional. Use quando javaHomeSelection = JDKVersion. Valores permitidos: default, 1.11 (JDK 11), 1.10 (JDK 10 (sem suporte)), 1.9 (JDK 9 (sem suporte)), 1.8 (JDK 8), 1.7 (JDK 7) 1.6 (JDK 6 (sem suporte)). Valor padrão: default.

Tenta descobrir o caminho para a versão do JDK selecionada e definir JAVA_HOME adequadamente.


jdkDirectory - Caminho do JDK
Alias de entrada: jdkUserInputPath. string. Obrigatório quando javaHomeSelection = Path.

Define JAVA_HOME para o caminho fornecido.


jdkArchitectureOption - Arquitetura do JDK
Alias de entrada: jdkArchitecture. string. Opcional. Use quando jdkVersion != default. Valores Permitidos: x86 e x64. Valor padrão: x64.

Fornece a arquitetura do JDK (x86 ou x64).


gradleOptions - Definir GRADLE_OPTS
Alias de entrada: gradleOpts. string. Valor padrão: -Xmx1024m.

Define a variável de ambiente GRADLE_OPTS, que é usada para enviar argumentos de linha de comando para iniciar a JVM. O xmx sinalizador especifica a memória máxima disponível para a JVM.


sonarQubeRunAnalysis - Executar a análise do SonarQube ou do SonarCloud
Alias de entrada: sqAnalysisEnabled. boolean. Valor padrão: false.

Essa opção foi alterada da versão 1 da tarefa Gradle para usar as extensões do marketplace SonarQube e SonarCloud . Habilite essa opção para executar a análise do SonarQube ou do SonarCloud depois de executar tarefas no campo Tarefas . Você também deve adicionar uma tarefa Preparar Configuração de Análise de uma das extensões ao pipeline de build antes dessa tarefa do Gradle.


sqGradlePluginVersionChoice - Scanner SonarQube para a versão do Gradle
string. Obrigatório quando sqAnalysisEnabled = true. Valores permitidos: specify (especifique o número da versão) build (Use o plug-in aplicado em seu build.gradle). Valor padrão: specify.

Especifica a versão do plug-in SonarQube Gradle a ser usada. Declare a versão no arquivo de configuração do Gradle ou especifique uma versão com essa cadeia de caracteres.


sonarQubeGradlePluginVersion - Scanner SonarQube para a versão do plug-in do Gradle
Alias de entrada: sqGradlePluginVersion. string. Obrigatório quando sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Valor padrão: 2.6.1.

Contém o número de versão do plug-in SonarQube Gradle.


checkStyleRunAnalysis - Executar o Checkstyle
Alias de entrada: checkstyleAnalysisEnabled. boolean. Valor padrão: false.

Executa a ferramenta Checkstyle com as verificações sun padrão. Os resultados são carregados como artefatos de build.


findBugsRunAnalysis - Executar FindBugs
Alias de entrada: findbugsAnalysisEnabled. boolean. Valor padrão: false.

Usa a ferramenta de análise estática FindBugs para procurar bugs no código. Os resultados são carregados como artefatos de build. No Gradle 6.0, esse plug-in foi removido. Em vez disso, use o plug-in SpotBugs.


pmdRunAnalysis - Executar PMD
Alias de entrada: pmdAnalysisEnabled. boolean. Valor padrão: false.

Usa a ferramenta de análise estática java pmd para procurar bugs no código. Os resultados são carregados como artefatos de build.


spotBugsAnalysis - Executar SpotBugs
Alias de entrada: spotBugsAnalysisEnabled. boolean. Valor padrão: false.

É executado spotBugs quando true. Esse plug-in funciona com o Gradle v5.6 ou posterior. Saiba mais sobre como usar o plug-in SpotBugs Gradle. O plug-in pode funcionar de maneira inesperada ou pode não funcionar com uma versão anterior do Gradle.


spotBugsGradlePluginVersionChoice - Versão do plug-in spotbugs
string. Obrigatório quando spotBugsAnalysisEnabled = true. Valores permitidos: specify (especifique o número da versão) build (Use o plug-in aplicado em seu build.gradle). Valor padrão: specify.

Especifica a versão do plug-in Gradle SpotBugs a ser usada. A versão pode ser declarada no arquivo de configuração do Gradle ou a versão pode ser especificada nessa cadeia de caracteres.


spotbugsGradlePluginVersion - Número de versão
string. Obrigatório quando spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Valor padrão: 4.7.0.

Contém o número de versão do plug-in SpotBugs Gradle.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

A configuração da análise do SonarQube foi movida para as extensões SonarQube ou SonarCloud na tarefa Prepare Analysis Configuration.

Use essa tarefa para compilar usando um script de wrapper do Gradle.

Como fazer gerar um wrapper do meu projeto Gradle?

O wrapper Gradle permite que o agente de build baixe e configure o ambiente Gradle exato que é verificado no repositório sem ter nenhuma configuração de software no próprio agente de build que não seja a JVM.

  1. Crie o wrapper Gradle emitindo o seguinte comando do diretório do projeto raiz em que reside o build.gradle:

    jamal@fabrikam> gradle wrapper

  2. Carregue o wrapper do Gradle no repositório remoto.

    Há um artefato binário gerado pelo wrapper gradle (localizado em gradle/wrapper/gradle-wrapper.jar). Esse arquivo binário é pequeno e não requer atualização. Se você precisar alterar a configuração do Gradle executada no agente de build, atualize o gradle-wrapper.properties.

    O repositório deve ter esta aparência:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

Como fazer corrigir tempos limite ao baixar dependências?

Para corrigir erros como Read timed out ao baixar dependências, os usuários do Gradle 4.3+ podem alterar o tempo limite adicionando -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 a Options. Isso aumenta o tempo limite de 10 segundos para 1 minuto.

Exemplos

Criar seu aplicativo Java com o Gradle

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico
Executa em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 1.91.0 ou superior
Categoria da tarefa Build