Dela via


Gradle@3 - Gradle v3-uppgift

Använd den här uppgiften för att skapa med hjälp av ett Gradle-omslutningsskript.

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.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.
    #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.
# 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.

Ingångar

gradleWrapperFile - Gradle omslag
Indataalias: wrapperScript. string. Obligatoriskt. Standardvärde: gradlew.

Anger gradlew-omslutningens plats i lagringsplatsen som ska användas för bygget. Agenter i Windows (inklusive Microsoft-värdbaserade agenter) måste använda gradlew.bat-omslutningen. Agenter i Linux eller macOS kan använda gradlew shell-skriptet. Läs mer om Gradle Wrapper. Om Gradle-omslutningen inte finns i rotkatalogen anger du sökvägen till omslutningsskriptet. Till exempel subdir/gradlew.


workingDirectory - Arbetskatalog
Indataalias: cwd. string.

Anger arbetskatalogen som ska köra Gradle-versionen. Uppgiften använder lagringsplatsens rotkatalog om arbetskatalogen inte har angetts.


options - alternativ
string.

Anger de kommandoradsalternativ som ska skickas till Gradle-omslutningen. Mer information finns i Gradle-kommandoraden.


tasks - Uppgifter
string. Obligatoriskt. Standardvärde: build.

Uppgift(er) som Gradle ska köra. En lista med uppgiftsnamn ska avgränsas med blanksteg och kan hämtas från gradlew tasks utfärdas från en kommandotolk.

Mer information finns i Grunderna för Gradle Build Scripts.


publishJUnitResults - Publicera i Azure Pipelines
boolean. Standardvärde: true.

Publicerar JUnit-testresultat som skapats av Gradle-versionen till Azure Pipelines. Uppgiften publicerar varje testresultatfil som matchar Test Results Files som en testkörning i Azure Pipelines.


testResultsFiles - Testresultatfiler
string. Krävs när publishJUnitResults = true. Standardvärde: **/TEST-*.xml.

Filsökvägen för testresultat. jokertecken kan användas. Till exempel **/TEST-*.xml för alla XML-filer vars namn börjar med TEST-.


testRunTitle - Testkörningstitel
string. Valfritt. Använd när publishJUnitResults = true.

Innehåller ett namn för JUnit-testfallsresultatet för den här versionen.


codeCoverageToolOption - Kodtäckningsverktyg
Indataalias: codeCoverageTool. string. Tillåtna värden: None, Cobertura, JaCoCo. Standardvärde: None.

Anger ett kodtäckningsverktyg för att fastställa den kod som omfattas av testfallen för bygget.


codeCoverageClassFilesDirectories - kataloger för klassfiler
Indataalias: classFilesDirectories. string. Krävs när codeCoverageTool != None. Standardvärde: build/classes/main/.

Kommaavgränsad lista över kataloger som innehåller klassfiler och arkivfiler (.jar, .war med mera). Kodtäckning rapporteras för klassfiler i dessa kataloger. Normalt söker aktiviteten efter klasser under build/classes/java/main (för Gradle 4+), som är standardklasskatalogen för Gradle-versioner.


codeCoverageClassFilter - filter för inkludering/exkludering av klass
Indataalias: classFilter. string. Valfritt. Använd när codeCoverageTool != None.

Kommaavgränsad lista över filter som ska inkludera eller exkludera klasser från insamling av kodtäckning. Till exempel: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Misslyckas när kodtäckningsresultat saknas
Indataalias: failIfCoverageEmpty. boolean. Valfritt. Använd när codeCoverageTool != None. Standardvärde: false.

Det går inte att skapa om kodtäckningen inte gav några resultat att publicera.


codeCoverageGradle5xOrHigher - Gradle-version >= 5.x
Indataalias: gradle5xOrHigher. boolean. Valfritt. Använd när codeCoverageTool = JaCoCo. Standardvärde: true.

Ange "true" om gradle-versionen är >= 5.x.


javaHomeOption - Ange JAVA_HOME efter
Indataalias: javaHomeSelection. string. Obligatoriskt. Tillåtna värden: JDKVersion (JDK-version), Path. Standardvärde: JDKVersion.

Anger JAVA_HOME genom att välja en JDK-version som aktiviteten identifierar under versioner eller genom att manuellt ange en JDK-sökväg.


jdkVersionOption - JDK-version
Indataalias: jdkVersion. string. Valfritt. Använd när javaHomeSelection = JDKVersion. Tillåtna värden: default, 1.17 (JDK 17), 1.11 (JDK 11), 1.10 (JDK 10 (utan support)), 1.9 (JDK 9 (utan support)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (utan support)). Standardvärde: default.

Försöker identifiera sökvägen till den valda JDK-versionen och ange JAVA_HOME därefter.


jdkVersionOption - JDK-version
Indataalias: jdkVersion. string. Valfritt. Använd när javaHomeSelection = JDKVersion. Tillåtna värden: default, 1.11 (JDK 11), 1.10 (JDK 10 (utan support)), 1.9 (JDK 9 (support saknas)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (support saknas)). Standardvärde: default.

Försöker identifiera sökvägen till den valda JDK-versionen och ange JAVA_HOME därefter.


jdkDirectory - JDK-sökväg
Indataalias: jdkUserInputPath. string. Krävs när javaHomeSelection = Path.

Anger JAVA_HOME till den angivna sökvägen.


jdkArchitectureOption - JDK-arkitektur
Indataalias: jdkArchitecture. string. Valfritt. Använd när jdkVersion != default. Tillåtna värden: x86, x64. Standardvärde: x64.

Tillhandahåller JDK-arkitekturen (x86 eller x64).


gradleOptions - Ange GRADLE_OPTS
Indataalias: gradleOpts. string. Standardvärde: -Xmx1024m.

Anger GRADLE_OPTS miljövariabeln, som används för att skicka kommandoradsargument för att starta JVM. Flaggan xmx anger det maximala minne som är tillgängligt för JVM.


sonarQubeRunAnalysis - Run SonarQube eller SonarCloud Analysis
Indataalias: sqAnalysisEnabled. boolean. Standardvärde: false.

Det här alternativet har ändrats från version 1 av uppgiften Gradle för att använda SonarQube och SonarCloud Marketplace-tillägg. Aktivera det här alternativet om du vill köra SonarQube- eller SonarCloud-analys efter att ha utfört uppgifter i fältet Uppgifter. Du måste också lägga till en Förbered analyskonfiguration uppgift från ett av tilläggen till bygg-pipelinen före den här Gradle-aktiviteten.


sqGradlePluginVersionChoice - SonarQube-skanner för Gradle-version
string. Krävs när sqAnalysisEnabled = true. Tillåtna värden: specify (Ange versionsnummer), build (Använd plugin-program som används i build.gradle). Standardvärde: specify.

Anger den SonarQube Gradle-pluginversion som ska användas. Deklarera versionen i Gradle-konfigurationsfilen eller ange en version med den här strängen.


sonarQubeGradlePluginVersion - SonarQube-skanner för Gradle-plugin-version
Indataalias: sqGradlePluginVersion. string. Krävs när sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Standardvärde: 2.6.1.

Innehåller versionsnumret för SonarQube Gradle-plugin-programmet.


checkStyleRunAnalysis - Kör Checkstyle-
Indataalias: checkstyleAnalysisEnabled. boolean. Standardvärde: false.

Kör verktyget Checkstyle med standardkontrollerna Sun. Resultaten laddas upp som byggartefakter.


findBugsRunAnalysis - Kör FindBugs-
Indataalias: findbugsAnalysisEnabled. boolean. Standardvärde: false.

Använder verktyget för statisk analys av FindBugs för att leta efter buggar i koden. Resultaten laddas upp som byggartefakter. I Gradle 6.0 har det här plugin-programmet tagits bort. Använd plugin-programmet SpotBugs i stället.


pmdRunAnalysis - Kör PMD-
Indataalias: pmdAnalysisEnabled. boolean. Standardvärde: false.

Använder pmd-verktyget för java-statisk analys för att leta efter buggar i koden. Resultatet laddas upp som byggartefakter.


spotBugsAnalysis - Kör SpotBugs
Indataalias: spotBugsAnalysisEnabled. boolean. Standardvärde: false.

Kör spotBugs när true. Det här plugin-programmet fungerar med Gradle v5.6 eller senare. Läs mer om med plugin-programmet SpotBugs Gradle. Plugin-programmet kan fungera på ett oväntat sätt eller kanske inte fungerar alls med en tidigare Gradle-version.


spotBugsGradlePluginVersionChoice - Spotbugs-pluginversion
string. Krävs när spotBugsAnalysisEnabled = true. Tillåtna värden: specify (Ange versionsnummer), build (Använd plugin-program som används i build.gradle). Standardvärde: specify.

Anger den SpotBugs Gradle-pluginversion som ska användas. Versionen kan deklareras i Gradle-konfigurationsfilen, eller så kan versionen anges i den här strängen.


spotbugsGradlePluginVersion - Versionsnummer
string. Krävs när spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Standardvärde: 4.7.0.

Innehåller versionsnumret för plugin-programmet SpotBugs Gradle.


Alternativ för uppgiftskontroll

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Ingen.

Anmärkningar

Konfigurationen av SonarQube-analysen har flyttats till SonarQube- eller SonarCloud-tilläggen i uppgiften Prepare Analysis Configuration.

Använd den här uppgiften för att skapa med hjälp av ett Gradle-omslutningsskript.

Hur genererar jag en omslutning från mitt Gradle-projekt?

Med Gradle-omslutningen kan byggagenten ladda ned och konfigurera den exakta Gradle-miljön som är incheckad på lagringsplatsen utan att ha någon annan programvarukonfiguration på själva byggagenten än JVM.

  1. Skapa Gradle-omslutningen genom att utfärda följande kommando från rotprojektkatalogen där din build.gradle finns:

    jamal@fabrikam> gradle wrapper

  2. Ladda upp Gradle-omslutningen till fjärrlagringsplatsen.

    Det finns en binär artefakt som genereras av gradle-omslutningen (finns på gradle/wrapper/gradle-wrapper.jar). Den här binära filen är liten och kräver inte uppdatering. Om du behöver ändra Gradle-konfigurationskörningen på byggagenten uppdaterar du gradle-wrapper.properties.

    Lagringsplatsen bör se ut ungefär så här:

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

Hur åtgärdar jag tidsgränser när jag laddar ned beroenden?

Om du vill åtgärda fel som Read timed out vid nedladdning av beroenden kan användare av Gradle 4.3+ ändra tidsgränsen genom att lägga till -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 i Options. Detta ökar tidsgränsen från 10 sekunder till 1 minut.

Exempel

Skapa din Java-app med Gradle

Kravspecifikation

Krav Beskrivning
Pipelinetyper YAML, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Kapaciteter Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion 1.91.0 eller senare
Aktivitetskategori Skapa