Gradle@3 - Tarefa gradle v3

Utilize esta tarefa para criar com 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ório. Valor predefinido: gradlew.

Especifica a gradlew localização do wrapper no repositório que será utilizado para a compilação. Os agentes no Windows (incluindo agentes alojados na Microsoft) têm de utilizar o gradlew.bat wrapper. Os agentes no Linux ou macOS podem utilizar o script de gradlew shell. Saiba mais sobre o Gradle Wrapper.


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

Especifica o diretório de trabalho para executar a compilação do Gradle. A tarefa utiliza o diretório de raiz do repositório se o diretório de trabalho não for especificado.


options - Opções
string.

Especifica as opções da linha de comandos que serão transmitidas ao wrapper do Gradle. Veja Linha de Comandos do Gradle para obter mais informações.


tasks - Tarefas
string. Obrigatório. Valor predefinido: build.

As tarefas para o Gradle executar. Uma lista de nomes de tarefas deve ser separada por espaços e pode ser retirada de gradlew tasks uma linha de comandos.

Veja Noções Básicas do Script de Compilação do Gradle para obter mais informações.


publishJUnitResults - Publicar nos Pipelines do Azure
boolean. Valor predefinido: true.

Publica os resultados do teste JUnit produzidos pela compilação gradle no Azure Pipelines. A tarefa publica cada ficheiro de resultados de teste correspondente Test Results Files como uma execução de teste no Azure Pipelines.


testResultsFiles - Ficheiros de resultados de teste
string. Necessário quando publishJUnitResults = true. Valor predefinido: **/TEST-*.xml.

O caminho do ficheiro para os resultados do teste. Podem ser utilizados carateres universais . Por exemplo, **/TEST-*.xml para todos os ficheiros XML cujo nome começa com TEST-.


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

Fornece um nome para os resultados do caso de teste JUnit para esta compilação.


codeCoverageToolOption - Ferramenta de cobertura de código
Alias de entrada: codeCoverageTool. string. Valores permitidos: None, , CoberturaJaCoCo. Valor predefinido: None.

Especifica uma ferramenta de cobertura de código para determinar o código abrangido pelos casos de teste da compilação.


codeCoverageClassFilesDirectories - Diretórios de ficheiros de classe
Alias de entrada: classFilesDirectories. string. Necessário quando codeCoverageTool != None. Valor predefinido: build/classes/main/.

A lista separada por vírgulas de diretórios que contêm ficheiros de classe e ficheiros de arquivo (.jar, .war e muito mais). A cobertura do código é comunicada para ficheiros de classe nestes diretórios. Normalmente, a tarefa procura classes build/classes/java/main em (para Gradle 4+), que é o diretório de classe predefinido para compilações gradle.


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

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


codeCoverageFailIfEmpty - Falha quando os resultados da cobertura do código estão em falta
Alias de entrada: failIfCoverageEmpty. boolean. Opcional. Utilize quando codeCoverageTool != None. Valor predefinido: false.

Falha na compilação se a cobertura do código não produzir quaisquer resultados para publicar.


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

Defina esta opção como "true" se a versão de gradle for >= 5.x.


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

Define JAVA_HOME ao selecionar uma versão do JDK que a tarefa deteta durante as compilações ou ao introduzir manualmente um caminho JDK.


jdkVersionOption - Versão do JDK
Alias de entrada: jdkVersion. string. Opcional. Utilize 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 predefinido: default.

Tenta detetar o caminho para a versão do JDK selecionada e definir JAVA_HOME em conformidade.


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

Define JAVA_HOME para o caminho especificado.


jdkArchitectureOption - Arquitetura do JDK
Alias de entrada: jdkArchitecture. string. Opcional. Utilize quando jdkVersion != default. Valores permitidos: x86, x64. Valor predefinido: x64.

Fornece a arquitetura JDK (x86 ou x64).


gradleOptions - Definir GRADLE_OPTS
Alias de entrada: gradleOpts. string. Valor predefinido: -Xmx1024m.

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


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

Esta opção mudou da versão 1 da tarefa Gradle para utilizar as extensões do marketplace SonarQube e SonarCloud . Ative esta opção para executar a análise do SonarQube ou do SonarCloud após executar tarefas no campo Tarefas . Também tem de adicionar uma tarefa Preparar Configuração de Análise a partir de uma das extensões ao pipeline de compilação antes desta tarefa gradle.


sqGradlePluginVersionChoice - SonarQube scanner for Gradle version (Scanner SonarQube para a versão do Gradle)
string. Necessário quando sqAnalysisEnabled = true. Valores permitidos: specify (Especifique o número da versão), build (Utilize o plug-in aplicado no build.gradle). Valor predefinido: specify.

Especifica a versão do plug-in SonarQube Gradle a utilizar. Declare a versão no ficheiro de configuração do Gradle ou especifique uma versão com esta cadeia.


sonarQubeGradlePluginVersion - SonarQube scanner for Gradle plugin version (SonarQube scanner for Gradle plugin version)
Alias de entrada: sqGradlePluginVersion. string. Necessário quando sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Valor predefinido: 2.6.1.

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


checkStyleRunAnalysis - Executar Estilo de Verificação
Alias de entrada: checkstyleAnalysisEnabled. boolean. Valor predefinido: false.

Executa a ferramenta Checkstyle com as verificações Sun predefinidas. Os resultados são carregados como artefactos de compilação.


findBugsRunAnalysis - Executar FindBugs
Alias de entrada: findbugsAnalysisEnabled. boolean. Valor predefinido: false.

Utiliza a ferramenta de análise estática FindBugs para procurar erros no código. Os resultados são carregados como artefactos de compilação. No Gradle 6.0, este plug-in foi removido. Em alternativa, utilize o plug-in SpotBugs.


pmdRunAnalysis - Executar PMD
Alias de entrada: pmdAnalysisEnabled. boolean. Valor predefinido: false.

Utiliza a ferramenta de análise estática java PMD para procurar erros no código. Os resultados são carregados como artefactos de compilação.


spotBugsAnalysis - Executar SpotBugs
Alias de entrada: spotBugsAnalysisEnabled. boolean. Valor predefinido: false.

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


spotBugsGradlePluginVersionChoice - Versão do plug-in Spotbugs
string. Necessário quando spotBugsAnalysisEnabled = true. Valores permitidos: specify (Especifique o número da versão), build (Utilize o plug-in aplicado no build.gradle). Valor predefinido: specify.

Especifica a versão do plug-in SpotBugs Gradle a utilizar. A versão pode ser declarada no ficheiro de configuração do Gradle ou a versão pode ser especificada nesta cadeia.


spotbugsGradlePluginVersion - Número da versão
string. Necessário quando spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Valor predefinido: 4.7.0.

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


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

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

Utilize esta tarefa para compilar com um script de wrapper Gradle.

Como devo proceder para gerar um wrapper a partir do meu projeto Gradle?

O wrapper gradle permite que o agente de compilação transfira e configure o ambiente gradle exato que é verificado no repositório sem ter qualquer configuração de software no próprio agente de compilação que não seja o JVM.

  1. Crie o wrapper Gradle ao emitir o seguinte comando a partir do diretório do projeto de raiz onde reside build.gradle:

    jamal@fabrikam> gradle wrapper

  2. Carregue o wrapper Gradle para o seu repositório remoto.

    Existe um artefacto binário que é gerado pelo wrapper de gradle (localizado em gradle/wrapper/gradle-wrapper.jar). Este ficheiro binário é pequeno e não requer a atualização. Se precisar de alterar a execução da configuração do Gradle no agente de compilação, atualize o gradle-wrapper.properties.

    O repositório deve ter um aspeto semelhante ao seguinte:

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

Como devo proceder para corrigir tempos limite ao transferir dependências?

Para corrigir erros como Read timed out ao transferir dependências, os utilizadores do Gradle 4.3+ podem alterar o tempo limite ao adicionar -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 ao Options. Isto aumenta o tempo limite de 10 segundos para 1 minuto.

Exemplos

Criar a sua aplicação Java com o Gradle

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 1.91.0 ou superior
Categoria da tarefa Compilar