Gradle@1 - Tarefa gradle v1
Crie com um script de wrapper 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ó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.
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.
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.
publishJUnitResults
- Publicar no TFS/Team Services
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: **/build/test-results/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
, , Cobertura
JaCoCo
. 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 = false
. 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
- Inclusão de Classes/Filtros de Exclusão
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.
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.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). 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 a Análise de SonarQube
Alias de entrada: sqAnalysisEnabled
. boolean
. Valor predefinido: false
.
Executa uma análise do SonarQube depois de executar os objetivos atuais. install
ou package
os objetivos devem ser executados primeiro.
sonarQubeServiceEndpoint
- Ponto Final do SonarQube
Alias de entrada: sqConnectedServiceName
. string
. Necessário quando sqAnalysisEnabled = true
.
O ponto final que especifica o servidor SonarQube a utilizar.
sonarQubeProjectName
- Nome do Projeto SonarQube
Alias de entrada: sqProjectName
. string
. Necessário quando sqAnalysisEnabled = true
.
O nome do projeto SonarQube, ou seja sonar.projectName
, .
sonarQubeProjectKey
- Chave do Projeto SonarQube
Alias de entrada: sqProjectKey
. string
. Necessário quando sqAnalysisEnabled = true
.
A chave exclusiva do projeto SonarQube, ou seja sonar.projectKey
, .
sonarQubeProjectVersion
- Versão do Projeto SonarQube
Alias de entrada: sqProjectVersion
. string
. Necessário quando sqAnalysisEnabled = true
.
A versão do projeto SonarQube, ou seja sonar.projectVersion
, .
sonarQubeGradlePluginVersion
- Versão do Plug-in SonarQube Gradle
Alias de entrada: sqGradlePluginVersion
. string
. Necessário quando sqAnalysisEnabled = true
. Valor predefinido: 2.0.1
.
Contém o número da versão do plug-in Do Gradle spotBugs.
sonarQubeSpecifyDB
- A versão do servidor SonarQube é inferior à 5.2
Alias de entrada: sqDbDetailsRequired
. boolean
. Opcional. Utilize quando sqAnalysisEnabled = true
. Valor predefinido: false
.
SonarQube server 5.1 e lower apenas. Especifica os detalhes da ligação da base de dados.
sonarQubeDBUrl
- Cadeia de Ligação da BD
Alias de entrada: sqDbUrl
. string
. Opcional. Utilize quando sqDbDetailsRequired = true
.
SonarQube server version 5.1 and lower only. Introduz a definição de ligação da base de dados, ou seja sonar.jdbc.url
, . Por exemplo: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
.
sonarQubeDBUsername
- Nome de Utilizador da BD
Alias de entrada: sqDbUsername
. string
. Opcional. Utilize quando sqDbDetailsRequired = true
.
SonarQube server 5.1 e lower apenas. Introduz o nome de utilizador do utilizador da base de dados, ou seja sonar.jdbc.username
, .
sonarQubeDBPassword
- Palavra-passe de Utilizador da BD
Alias de entrada: sqDbPassword
. string
. Opcional. Utilize quando sqDbDetailsRequired = true
.
SonarQube server 5.1 e lower apenas. Introduza a palavra-passe do utilizador da base de dados, ou seja sonar.jdbc.password
, .
sonarQubeIncludeFullReport
- Incluir relatório de análise completo no resumo da compilação (SQ 5.3+)
Alias de entrada: sqAnalysisIncludeFullReport
. boolean
. Opcional. Utilize quando sqAnalysisEnabled = true
. Valor predefinido: true
.
Atrasa a compilação até que a análise do SonarQube esteja concluída.
sonarQubeFailWhenQualityGateFails
- Falha na compilação na falha da porta de qualidade (SQ 5.3+)
Alias de entrada: sqAnalysisBreakBuildIfQualityGateFailed
. boolean
. Opcional. Utilize quando sqAnalysisEnabled = true
.
Apenas a versão 5.3 ou superior do servidor SonarQube. Introduz atrasos, uma vez que a compilação tem de aguardar que o SonarQube conclua a análise. Saiba mais sobre como utilizar o SonarQube para compilações.
checkStyleRunAnalysis
- Executar o Checkstyle
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.
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
Nota
Existe uma versão mais recente desta tarefa disponível em Gradle@3.
Nota
Existe uma versão mais recente desta 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
.
Utilize esta tarefa para criar com um script de wrapper gradle.
Como devo proceder para gerar um wrapper a partir do meu projeto Gradle?
O wrapper do 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.
Crie o wrapper do Gradle ao emitir o seguinte comando a partir do diretório do projeto de raiz onde reside build.gradle:
jamal@fabrikam> gradle wrapper
Carregue o wrapper do 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 atualização. Se precisar de alterar a execução da configuração do Gradle no agente de compilação, atualize ogradle-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.
Requisitos
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica |
É executado em | Agent, DeploymentGroup |
Exigências | Os agentes autoalojados têm de ter capacidades que correspondam às seguintes exigências para executar tarefas que utilizem esta tarefa: java |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de definição | Qualquer |
Versão do agente | 1.91.0 ou superior |
Categoria da tarefa | Compilação |