Compartilhar via


Gradle@1 - Tarefa Gradle v1

Crie usando um script de wrapper do Gradle.

Syntax

# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # Advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '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.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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 = false. 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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Required when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #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.

Entradas

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

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


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 a serem executadas pelo Gradle. Uma lista de nomes de tarefas deve ser separada por espaços e pode ser obtida de gradlew tasks emitida a partir de um prompt de comando.

Confira Noções básicas de script de build do Gradle para obter mais informações.


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.


publishJUnitResults - Publicar no TFS/Team Services
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: **/build/test-results/TEST-*.xml.

O caminho do arquivo para os resultados do teste. Caracteres curinga 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 = false. Valor padrão: build/classes/main/.

A lista separada por vírgulas de diretórios que contêm arquivos de classe e arquivos de arquivos (.jar, .war e muito mais). A cobertura de código é informada para arquivos de classe nesses diretórios. Normalmente, a tarefa pesquisa classes build/classes/java/main em (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 para publicação.


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.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7) 1.6 (JDK 6). 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 o GRADLE_OPTS variável de ambiente, 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 Análise do SonarQube
Alias de entrada: sqAnalysisEnabled. boolean. Valor padrão: false.

Executa uma análise do SonarQube depois de executar as metas atuais. install ou package as metas devem ser executadas primeiro.


sonarQubeServiceEndpoint - Ponto de extremidade sonarQube
Alias de entrada: sqConnectedServiceName. string. Obrigatório quando sqAnalysisEnabled = true.

O ponto de extremidade que especifica o servidor SonarQube a ser usado.


sonarQubeProjectName - Nome do projeto SonarQube
Alias de entrada: sqProjectName. string. Obrigatório quando sqAnalysisEnabled = true.

O nome do projeto SonarQube, que é sonar.projectName.


sonarQubeProjectKey - Chave do projeto SonarQube
Alias de entrada: sqProjectKey. string. Obrigatório quando sqAnalysisEnabled = true.

A chave exclusiva do projeto SonarQube, que é sonar.projectKey.


sonarQubeProjectVersion - Versão do projeto SonarQube
Alias de entrada: sqProjectVersion. string. Obrigatório quando sqAnalysisEnabled = true.

A versão do projeto SonarQube, que é sonar.projectVersion.


sonarQubeGradlePluginVersion - Versão do plug-in sonarQube Gradle
Alias de entrada: sqGradlePluginVersion. string. Obrigatório quando sqAnalysisEnabled = true. Valor padrão: 2.0.1.

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


sonarQubeSpecifyDB - A versão do servidor SonarQube é inferior à 5.2
Alias de entrada: sqDbDetailsRequired. boolean. Opcional. Use quando sqAnalysisEnabled = true. Valor padrão: false.

Servidor SonarQube 5.1 e somente inferior. Especifica os detalhes da conexão do banco de dados.


sonarQubeDBUrl - Cadeia de conexão de banco de dados
Alias de entrada: sqDbUrl. string. Opcional. Use quando sqDbDetailsRequired = true.

Somente o servidor SonarQube versão 5.1 e inferior. Insere a configuração de conexão de banco de dados, que é sonar.jdbc.url. Por exemplo: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Nome de usuário do banco de dados
Alias de entrada: sqDbUsername. string. Opcional. Use quando sqDbDetailsRequired = true.

Servidor SonarQube 5.1 e somente inferior. Insere o nome de usuário para o usuário do banco de dados, que é sonar.jdbc.username.


sonarQubeDBPassword - Senha de usuário do banco de dados
Alias de entrada: sqDbPassword. string. Opcional. Use quando sqDbDetailsRequired = true.

Servidor SonarQube 5.1 e somente inferior. Insira a senha do usuário do banco de dados, que é sonar.jdbc.password.


sonarQubeIncludeFullReport - Incluir o relatório de análise completa no resumo do build (SQ 5.3+)
Alias de entrada: sqAnalysisIncludeFullReport. boolean. Opcional. Use quando sqAnalysisEnabled = true. Valor padrão: true.

Atrasa o build até que a análise do SonarQube seja concluída.


sonarQubeFailWhenQualityGateFails - Falha na compilação em falha de porta de qualidade (SQ 5.3+)
Alias de entrada: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Opcional. Use quando sqAnalysisEnabled = true.

Somente servidor SonarQube versão 5.3 ou superior. Apresenta atrasos, pois o build deve aguardar o SonarQube concluir a análise. Saiba mais sobre como usar o SonarQube para builds.


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.


Opções de controle da 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

Observação

Há uma versão mais recente dessa tarefa disponível em Gradle@3.

Observação

Há uma versão mais recente dessa tarefa disponível em Gradle@2.

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 criar usando um script de wrapper Gradle.

Como faço para gerar um wrapper do meu projeto Gradle?

O wrapper do 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 do Gradle emitindo o seguinte comando do diretório do projeto raiz no qual 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 execução da configuração do Gradle no agente de build, atualize o gradle-wrapper.properties.

    O repositório deve ser semelhante a este:

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

Como fazer para 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.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico
É executado em Agent, DeploymentGroup
Demandas Os agentes auto-hospedados devem ter recursos que correspondam às seguintes demandas para executar trabalhos que usam esta tarefa: java
Funcionalidades Essa tarefa não atende a nenhuma demanda por 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