Maven@3 — zadanie maven w wersji 3

To zadanie służy do kompilowania, testowania i wdrażania za pomocą oprogramowania Apache Maven.

Składnia

# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  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. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
    #allowBrokenSymlinks: true # boolean. Alias: allowBrokenSymbolicLinks. Optional. Use when publishJUnitResults = true. Allow broken symbolic links. Default: true.
  # 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.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
    #spotBugsRunAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs analysis. Default: false.
    #spotBugsVersion: '4.5.3.0' # string. Alias: spotBugsMavenPluginVersion. Optional. Use when spotBugsAnalysisEnabled = true. Version number. Default: 4.5.3.0.
    #spotBugsGoal: 'spotbugs' # 'spotbugs' | 'check'. Optional. Use when spotBugsAnalysisEnabled = true. The goal for the spotbugs plugin. Default: spotbugs.
    #failWhenBugsFound: true # boolean. Alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. Optional. Use when spotBugsAnalysisEnabled = true && spotBugsGoal = check. Fail when bugs are found with spotbugs:check. Default: true.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  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. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/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.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # 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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  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. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/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.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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  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. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/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.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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.
# Maven v3
# Build with Apache Maven.
- task: Maven@3
  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. Required. Publish to Azure Pipelines/TFS. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/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.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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #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.

Dane wejściowe

mavenPOMFile - Plik POM programu Maven
string. Wymagane. Wartość domyślna: pom.xml.

Określa ścieżkę względną z katalogu głównego repozytorium do pliku Maven POM. Aby uzyskać więcej informacji, zobacz Wprowadzenie do funkcji POM .


goals - Bramki
string. Wartość domyślna: package.

(Opcjonalnie) Ustaw na wartość , aby package skompilować kod i spakować go do pliku war. Jeśli ten argument pozostanie pusty, kompilacja zakończy się niepowodzeniem. Aby uzyskać więcej informacji, zobacz Wprowadzenie do cyklu życia kompilacji narzędzia Maven .


options - Opcje
string.

(Opcjonalnie) Określa wszystkie opcje wiersza polecenia maven, których chcesz użyć.


publishJUnitResults - Publikowanie w usłudze Azure Pipelines
boolean. Wymagane. Wartość domyślna: true.

Określa opcję publikowania wyników testu JUnit generowanych przez kompilację Maven w usłudze Azure Pipelines. Każdy plik Test Results Files wyników testu zostanie opublikowany jako przebieg testu w usłudze Azure Pipelines.


publishJUnitResults - Publikowanie w usłudze Azure Pipelines/TFS
boolean. Wymagane. Wartość domyślna: true.

Określa opcję publikowania wyników testu JUnit generowanych przez kompilację Narzędzia Maven w usłudze Azure Pipelines/TFS. Każdy plik Test Results Files wyników testu zostanie opublikowany jako przebieg testu w usłudze Azure Pipelines/TFS.


testResultsFiles - Pliki wyników testów
string. Wymagane, gdy publishJUnitResults = true. Wartość domyślna: **/surefire-reports/TEST-*.xml.

Określa ścieżkę i wzorzec plików wyników testów do opublikowania.
Symbole wieloznaczne mogą być używane.
Więcej informacji na temat wzorców dopasowywania plików.
Na przykład **/TEST-*.xml dla wszystkich plików XML, których nazwa zaczyna się od TEST-. Jeśli nie określono ścieżki głównej, pliki są dopasowywane poniżej domyślnego katalogu roboczego, która jest dostępna w zmiennej $(System.DefaultWorkingDirectory). Na przykład wartość elementu **/TEST-*.xml rzeczywiście spowoduje dopasowanie plików z $(System.DefaultWorkingDirectory)/**/TEST-*.xmlpliku .


testRunTitle - Tytuł przebiegu testu
string. Opcjonalny. Użyj polecenia , gdy publishJUnitResults = true.

Określa nazwę przebiegu testu.


allowBrokenSymlinks - Zezwalaj na przerwane łącza symboliczne
Alias wejściowy: allowBrokenSymbolicLinks. boolean. Opcjonalny. Użyj polecenia , gdy publishJUnitResults = true. Wartość domyślna: true.

Jeśli ustawiono wartość false, kompilacja kończy się niepowodzeniem, gdy zadanie znajdzie przerwany link symboliczny podczas publikowania wyników testów.


codeCoverageToolOption - Narzędzie pokrycia kodu
Alias wejściowy: codeCoverageTool. string. Dozwolone wartości: None, , JaCoCoCobertura. Wartość domyślna: None.

Określa narzędzie pokrycia kodu. Włączenie pokrycia kodu wstawia czysty cel do listy celów maven po uruchomieniu narzędzia Maven.


codeCoverageClassFilter - Filtry dołączania/wykluczania klas
Alias wejściowy: classFilter. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None.

Określa rozdzieloną przecinkami listę filtrów do uwzględnienia lub wykluczenia klas ze zbierania pokrycia kodu. Na przykład +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Katalogi plików klas
Alias wejściowy: classFilesDirectories. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool = JaCoCo.

To pole jest wymagane dla projektu z wieloma modułami.
Określa rozdzielaną przecinkami listę ścieżek względnych z pliku POM programu Maven do katalogów zawierających pliki klas i pliki archiwum (JAR, WAR itp.). Pokrycie kodu jest zgłaszane dla plików klas w tych katalogach. Na przykład target/classes,target/testClasses.


codeCoverageSourceDirectories - Katalogi plików źródłowych
Alias wejściowy: srcDirectories. string. Opcjonalny. Użyj polecenia , gdy codeCoverageTool = JaCoCo.

To pole jest wymagane dla projektu z wieloma modułami.
Określa rozdzielaną przecinkami listę ścieżek względnych z pliku Maven POM do katalogów kodu źródłowego. Raporty pokrycia kodu używają tych raportów do wyróżniania kodu źródłowego. Na przykład src/java,src/Test.


codeCoverageFailIfEmpty - Niepowodzenie, gdy brakuje wyników pokrycia kodu
Alias wejściowy: failIfCoverageEmpty. boolean. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None. Wartość domyślna: false.

Kompilacja kończy się niepowodzeniem, jeśli pokrycie kodu nie wygenerowało żadnych wyników do opublikowania.


codeCoverageRestoreOriginalPomXml - Przywracanie oryginalnej pom.xml po wykonaniu zadania
Alias wejściowy: restoreOriginalPomXml. boolean. Opcjonalny. Użyj polecenia , gdy codeCoverageTool != None. Wartość domyślna: false.

Pokrycie kodu modyfikuje pom.xml wyniki. Użyj tej opcji, jeśli musisz zachować oryginalny element pom.xml.


javaHomeOption - Ustaw JAVA_HOME według
Alias wejściowy: javaHomeSelection. string. Wymagane. Dozwolone wartości: JDKVersion (wersja zestawu JDK), Path. Wartość domyślna: JDKVersion.

Ustawia JAVA_HOME zestawy, wybierając wersję zestawu JDK, która zostanie odnaleziona podczas kompilacji lub ręcznie wprowadzając ścieżkę zestawu JDK. Jeśli na maszynie agenta jest już zainstalowany język Java, możesz go określić, konfigurując javaHomeOption jako path ścieżkę jdkDirectory do zainstalowanego katalogu JDK.


jdkVersionOption - Wersja zestawu JDK
Alias wejściowy: jdkVersion. string. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion. Dozwolone wartości: default, 1.17 (JDK 17), 1.11 (JDK 11), 1.10 (JDK 10 (brak obsługi)), (JDK 9 (brak obsługi) 1.8 ), 1.9 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (brak obsługi)). Wartość domyślna: default.

Próbuje odnaleźć ścieżkę do wybranej wersji zestawu JDK i odpowiednio ustawić JAVA_HOME .
Uwaga: W przypadku uruchamiania na agencie, który nie jest hostowany przez firmę Microsoft, a żądana wersja języka Java nie jest wskazana przez JAVA_HOME zmienną ustawioną na maszynie agenta, zadanie będzie polegać na zmiennej JAVA_HOME_{version}_{arch} (na przykład: JAVA_HOME_8_X64) w celu zlokalizowania niezbędnego zestawu JDK. Upewnij się, że ta zmienna jest ustawiona na własnych agentach dla dowolnej wersji i architektury zestawu JDK, który może być żądany przez ten parametr i/lub przez jdkArchitecture.


jdkVersionOption - Wersja zestawu JDK
Alias wejściowy: jdkVersion. string. Opcjonalny. Użyj polecenia , gdy javaHomeSelection = JDKVersion. Dozwolone wartości: default, 1.11 (JDK 11), 1.10 (JDK 10 (brak pomocy technicznej)), 1.9 (JDK 9 (brak obsługi)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (brak obsługi)). Wartość domyślna: default.

Próbuje odnaleźć ścieżkę do wybranej wersji zestawu JDK i odpowiednio ustawić JAVA_HOME .


jdkDirectory - Ścieżka zestawu JDK
Alias wejściowy: jdkUserInputPath. string. Wymagane, gdy javaHomeSelection = Path.

Ustawia JAVA_HOME na daną ścieżkę.


jdkArchitectureOption - Architektura zestawu JDK
Alias wejściowy: jdkArchitecture. string. Opcjonalny. Użyj polecenia , gdy jdkVersion != default. Dozwolone wartości: x86, x64. Wartość domyślna: x64.

Dostarcza architekturę (x86, x64) zestawu JDK.


mavenVersionOption - Wersja narzędzia Maven
Alias wejściowy: mavenVersionSelection. string. Wymagane. Dozwolone wartości: Default, Path (Ścieżka niestandardowa). Wartość domyślna: Default.

Określa domyślną wersję programu Maven lub wersję w określonej ścieżce niestandardowej.


mavenDirectory - Ścieżka narzędzia Maven
Alias wejściowy: mavenPath. string. Wymagane, gdy mavenVersionSelection = Path.

Dostarcza ścieżkę niestandardową do instalacji narzędzia Maven (na przykład: /usr/share/maven).


mavenSetM2Home - Ustawianie zmiennej M2_HOME
boolean. Wymagane, gdy mavenVersionSelection = Path. Wartość domyślna: false.

Ustawia zmienną M2_HOME na niestandardową ścieżkę instalacji programu Maven.


mavenOptions - Ustaw MAVEN_OPTS na
Alias wejściowy: mavenOpts. string. Wartość domyślna: -Xmx1024m.

Ustawia zmienną MAVEN_OPTS środowiskową, która służy do wysyłania argumentów wiersza polecenia w celu uruchomienia maszyny wirtualnej JVM. Flaga -Xmx określa maksymalną ilość pamięci dostępnej dla maszyny JVM.


mavenAuthenticateFeed - Uwierzytelnianie wbudowanych źródeł danych maven
Alias wejściowy: mavenFeedAuthenticate. boolean. Wymagane. Wartość domyślna: false.

Automatycznie uwierzytelnia wbudowane źródła danych maven z rozszerzenia Azure Artifacts/TFS Package Management . Jeśli wbudowane kanały informacyjne maven nie są używane, usuń zaznaczenie tej opcji, aby szybciej tworzyć kompilacje.


effectivePomSkip - Pomijanie generowania efektywnego modelu POM podczas uwierzytelniania wbudowanych źródeł danych
Alias wejściowy: skipEffectivePom. boolean. Wymagane. Wartość domyślna: false.

Uwierzytelnia wbudowane kanały informacyjne narzędzia Maven tylko przy użyciu modelu POM, co umożliwia nadrzędnym modułom POM w źródłach danych usługi Azure Artifacts/Azure DevOps Server [Zarządzanie pakietami].


sonarQubeRunAnalysis - Uruchamianie analizy sonarQube lub SonarCloud
Alias wejściowy: sqAnalysisEnabled. boolean. Wymagane. Wartość domyślna: false.

Ta opcja została zmieniona z używania wersji 1 zadania maven na używanie rozszerzeń witryny Marketplace SonarQube i SonarCloud .
Włącz tę opcję, aby uruchomić analizę SonarQube lub SonarCloud po wykonaniu celów w polu Cele . Cel instalacji lub pakietu powinien zostać uruchomiony jako pierwszy. Przed tym zadaniem maven należy również dodać zadanie Przygotowywanie konfiguracji analizy z jednego z rozszerzeń do potoku kompilacji.


isJacocoCoverageReportXML - Korzystanie z raportów XML Jacoco na potrzeby analizy SonarQube
boolean. Opcjonalny. Użyj polecenia , gdy sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Wartość domyślna: false.

Używa raportów XML Jacoco do analizy SonarQube. Dowiedz się więcej o raportach testowych.


sqMavenPluginVersionChoice - Skaner SonarQube dla wersji maven
string. Wymagane, gdy sqAnalysisEnabled = true. Dozwolone wartości: latest (użyj najnowszej wersji) pom (Użyj wersji zadeklarowanej w pom.xml). Wartość domyślna: latest.

Określa wersję wtyczki SonarQube Maven do użycia. Możesz użyć najnowszej wersji lub użyć wersji w pliku pom.xml.


checkStyleRunAnalysis - Uruchamianie stylu kontrolnego
Alias wejściowy: checkstyleAnalysisEnabled. boolean. Wartość domyślna: false.

Uruchamia narzędzie Checkstyle z domyślnym sprawdzaniem wartości Sun. Jeśli w pom.xml pliku nie określono konfiguracji Checkstyle, są używane domyślne kontrole Sun. Wyniki są przekazywane jako artefakty kompilacji.


pmdRunAnalysis - Uruchamianie narzędzia PMD
Alias wejściowy: pmdAnalysisEnabled. boolean. Wartość domyślna: false.

Używa narzędzia analizy statycznej PMD do wyszukiwania usterek w kodzie. Wyniki są przekazywane jako artefakty kompilacji.


findBugsRunAnalysis - Uruchamianie funkcji FindBugs
Alias wejściowy: findbugsAnalysisEnabled. boolean. Wartość domyślna: false.

Używa narzędzia do analizy statycznej FindBugs, aby wyszukać usterki w kodzie. Wyniki są przekazywane jako artefakty kompilacji.


spotBugsRunAnalysis - Uruchamianie analizy spotBugs
Alias wejściowy: spotBugsAnalysisEnabled. boolean. Wartość domyślna: false.

Włącz tę opcję, aby uruchomić wtyczkę analizy kodu SpotBugs. Więcej informacji na temat wtyczki SpotBugs Maven.


spotBugsVersion - Numer wersji
Alias wejściowy: spotBugsMavenPluginVersion. string. Opcjonalny. Użyj polecenia , gdy spotBugsAnalysisEnabled = true. Wartość domyślna: 4.5.3.0.

Dowiedz się więcej o dostępnych wersjach usługi SpotBugs.


spotBugsGoal - Cel wtyczki spotbugs
string. Opcjonalny. Użyj polecenia , gdy spotBugsAnalysisEnabled = true. Dozwolone wartości: spotbugs ("spotbugs" — tworzy raport dotyczący znalezionych usterek), check ("check" — Potok kończy się niepowodzeniem, jeśli wykryto błędy). Wartość domyślna: spotbugs.

Określa cel wtyczki. Dowiedz się więcej na temat celów SpotBugs.


failWhenBugsFound - Niepowodzenie po znalezieniu usterek za pomocą spotbugs:check
Alias wejściowy: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. boolean. Opcjonalny. Użyj polecenia , gdy spotBugsAnalysisEnabled = true && spotBugsGoal = check. Wartość domyślna: true.

Kończy się niepowodzeniem po znalezieniu usterek, jeśli określono cel sprawdzania . Dowiedz się więcej o szczegółach parametru SpotBug.


Opcje sterowania zadaniami

Wszystkie zadania mają opcje sterowania oprócz ich danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

Brak.

Uwagi

Konfiguracja analizy SonarQube została przeniesiona do rozszerzeń SonarQube lub SonarCloud w zadaniu Przygotowanie konfiguracji analizy.

Ważne

W przypadku korzystania z -q opcji w programie MAVEN_OPTSskuteczne polecenie nie zostanie poprawnie wygenerowane, a kanały informacyjne usługi Azure Artifacts mogą nie być w stanie zostać uwierzytelnione.

Ważne

Jeśli wersja zestawu JDK, której chcesz użyć, jest już zainstalowana na agencie, ustaw na javaHomeOptionpath i ustaw jdkDirectory ścieżkę wersji zestawu JDK. Te opcje ustawiają zmienną JAVA_HOME_11_X64 środowiskową, która jest wymagana przez zadanie Maven. Ta zmienna środowiskowa jest ustawiana automatycznie, jeśli używasz zadania instalatora narzędzia Java.

Często zadawane pytania

Mam projekt z wieloma modułami, ale moja kompilacja kończy się niepowodzeniem. Co należy sprawdzić?

Upewnij się, że określono dane #codeCoverageClassFilesDirectories wejściowe i #codeCoverageSourceDirectories jako dane wejściowe zadania. Te dwa parametry są opcjonalne dla pojedynczego projektu modułu, ale są wymagane w przypadku projektów z wieloma modułami.

Przykłady

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi uruchamiania zadań korzystających z tego zadania: maven
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 1.89.0 lub nowsza
Kategoria zadania Kompilacja

Zobacz też