Partilhar via


Maven@1 - Tarefa maven v1

Utilize esta tarefa para criar com o Apache Maven.

Syntax

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. 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.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class Files Directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source Files Directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
  # Advanced
    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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven Version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven Path. 
    #mavenSetM2Home: false # boolean. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # 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. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #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.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

Entradas

mavenPOMFile - Ficheiro POM do Maven
string. Obrigatório. Valor predefinido: pom.xml.

Especifica o caminho relativo da raiz do repositório para o ficheiro POM do Maven.


goals - Objetivos
string. Valor predefinido: package.


options - Opções
string.


publishJUnitResults - Publicar no TFS/Team Services
boolean. Valor predefinido: true.

Especifica a opção para publicar os resultados do teste JUnit produzidos pela compilação maven no TFS/Team Services. Cada correspondência Test Results Files de ficheiros de resultados de teste será publicada como uma execução de teste no TFS/Team Services.


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

Especifica o caminho e o padrão dos ficheiros de resultados do teste a publicar. Por exemplo, **/TEST-*.xml para todos os ficheiros XML com um nome que começa com TEST-. Se não for especificado nenhum caminho de raiz, os ficheiros serão correspondidos por baixo do diretório de trabalho predefinido, cuja valor está disponível na variável $(System.DefaultWorkingDirectory). Por exemplo, um valor de **/TEST-*.xml irá realmente resultar em ficheiros correspondentes de $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


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

Especifica um nome para a execução de teste.


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

Especifica a ferramenta de cobertura do código.


codeCoverageClassFilter - Inclusão de Classes/Filtros de Exclusão
Alias de entrada: classFilter. string. Opcional. Utilize quando codeCoverageTool != None.

Especifica uma 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*.*.


codeCoverageClassFilesDirectories - Diretórios de Ficheiros de Classe
Alias de entrada: classFilesDirectories. string. Opcional. Utilize quando codeCoverageTool = JaCoCo.

Este campo é necessário para um projeto com vários módulos.
Especifica uma lista separada por vírgulas de caminhos relativos do ficheiro POM do Maven para os diretórios que contêm ficheiros de classe e ficheiros de arquivo (JAR, WAR, etc.). A cobertura do código é comunicada para ficheiros de classe nestes diretórios. Por exemplo, target/classes,target/testClasses.


codeCoverageSourceDirectories - Diretórios de Ficheiros de Origem
Alias de entrada: srcDirectories. string. Opcional. Utilize quando codeCoverageTool = JaCoCo.

Este campo é necessário para um projeto com vários módulos.
Especifica uma lista separada por vírgulas de caminhos relativos do ficheiro POM do Maven para diretórios de código fonte. Os relatórios de cobertura do código irão utilizá-los para realçar o código fonte. Por exemplo, src/java,src/Test.


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 será detetada 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 define 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 (x86, x64) do JDK.


mavenVersionOption - Versão do Maven
Alias de entrada: mavenVersionSelection. string. Obrigatório. Valores permitidos: Default, Path (Caminho Personalizado). Valor predefinido: Default.

Utiliza a versão predefinida do Maven ou a versão no caminho personalizado especificado.


mavenDirectory - Caminho do Maven
Alias de entrada: mavenPath. string. Necessário quando mavenVersionSelection = Path.

Fornece o caminho personalizado para a instalação do Maven (por exemplo: /usr/share/maven).


mavenSetM2Home - Definir variável de M2_HOME
boolean. Opcional. Utilize quando mavenVersionSelection = Path. Valor predefinido: false.

Define a M2_HOME variável para um caminho de instalação personalizado do Maven.


mavenOptions - Definir MAVEN_OPTS como
Alias de entrada: mavenOpts. string. Valor predefinido: -Xmx1024m.

Define a variável de MAVEN_OPTS ambiente, 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.


mavenAuthenticateFeed - Autenticar feeds Maven incorporados
Alias de entrada: mavenFeedAuthenticate. boolean. Valor predefinido: true.

Autentica-se automaticamente com feeds de Artefactos do Azure. Se os feeds de Artefactos não estiverem a ser utilizados, desselecione esta opção para compilações mais rápidas.


sonarQubeRunAnalysis - Executar a Análise do 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.

Especifica o ponto final genérico do servidor SonarQube.


sonarQubeProjectName - Nome do Projeto SonarQube
Alias de entrada: sqProjectName. string. Opcional. Utilize quando sqAnalysisEnabled = true.

Especifica o nome do projeto SonarQube, por exemplo sonar.projectName.


sonarQubeProjectKey - Chave do Projeto SonarQube
Alias de entrada: sqProjectKey. string. Opcional. Utilize quando sqAnalysisEnabled = true.

Especifica a chave exclusiva do projeto SonarQube, por exemplo sonar.projectKey.


sonarQubeProjectVersion - Versão do Projeto SonarQube
Alias de entrada: sqProjectVersion. string. Opcional. Utilize quando sqAnalysisEnabled = true.

Especifica a versão do projeto SonarQube, por exemplo sonar.projectVersion.


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

Se utilizar um servidor SonarQube 5.1 ou inferior, tem de especificar 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.

Utilize apenas para o servidor SonarQube 5.1 e inferior.
Especifica a definição de ligação da base de dados (por exemplo, sonar.jdbc.url ou jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Nome de Utilizador da BD
Alias de entrada: sqDbUsername. string. Opcional. Utilize quando sqDbDetailsRequired = true.

Utilize apenas para o servidor SonarQube 5.1 e inferior.
Especifica o nome de utilizador do utilizador da base de dados (por exemplo, sonar.jdbc.username).


sonarQubeDBPassword - Palavra-passe de Utilizador da BD
Alias de entrada: sqDbPassword. string. Opcional. Utilize quando sqDbDetailsRequired = true.

Utilize apenas para o servidor SonarQube 5.1 e inferior.
Especifica a palavra-passe para o utilizador da base de dados (por exemplo, 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.

Esta opção irá atrasar a compilação até que a análise do SonarQube esteja concluída.


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

Esta opção só está disponível quando utiliza um servidor SonarQube 5.3 ou superior. Introduz atrasos, uma vez que a compilação tem de aguardar que a SonarQube conclua a análise. Mais informações sobre as portas de qualidade do SonarQube.


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.


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

Utiliza a ferramenta de análise estática PMD para procurar erros no código. 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.


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.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Os agentes autoalojados têm de ter capacidades que correspondam às seguintes exigências para executar tarefas que utilizam esta tarefa: maven
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.89.0 ou superior
Categoria da tarefa Compilar

Ver também