Condividi tramite


Gradle@3 - Attività Gradle v3

Usare questa attività per compilare usando uno script wrapper Gradle.

Sintassi

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

Ingressi dati

gradleWrapperFile - Involucro Gradle
Alias di input: wrapperScript. string. Obbligatorio. Valore predefinito: gradlew

Specifica il percorso del wrapper gradlew all'interno del repository che verrà usato per la compilazione. Gli agenti in Windows (inclusi gli agenti ospitati da Microsoft) devono usare il wrapper gradlew.bat. Gli agenti in Linux o macOS possono usare lo script della shell gradlew. Altre informazioni sul wrapper Gradle . Se il wrapper Gradle non si trova nella directory principale, specificare il percorso dello script wrapper. Ad esempio: subdir/gradlew.


workingDirectory - directory di lavoro
Alias di input: cwd. string.

Specifica la directory di lavoro per eseguire la compilazione Gradle. L'attività usa la directory radice del repository se la directory di lavoro non è specificata.


options - Opzioni
string.

Specifica le opzioni della riga di comando che verranno passate al wrapper Gradle. Per altre informazioni, vedere della riga di comando gradle.


tasks - attività
string. Obbligatorio. Valore predefinito: build

Attività da eseguire per Gradle. Un elenco di nomi di attività deve essere separato da spazi e può essere tratto da gradlew tasks rilasciato da un prompt dei comandi.

Per altre informazioni, vedere Di base dello script di compilazione Gradle.


publishJUnitResults - Pubblica in Azure Pipelines
boolean. Valore predefinito: true

Pubblica i risultati dei test JUnit generati dalla compilazione Gradle in Azure Pipelines. L'attività pubblica ogni file dei risultati del test corrispondente Test Results Files come esecuzione di test in Azure Pipelines.


testResultsFiles - file dei risultati dei test
string. Obbligatorio quando publishJUnitResults = true. Valore predefinito: **/TEST-*.xml

Percorso del file per i risultati del test. è possibile usare caratteri jolly. Ad esempio, **/TEST-*.xml per tutti i file XML il cui nome inizia con TEST-.


testRunTitle - Titolo esecuzione test
string. Opzionale. Usare quando publishJUnitResults = true.

Fornisce un nome per i risultati del test case JUnit per questa compilazione.


codeCoverageToolOption - strumento code coverage
Alias di input: codeCoverageTool. string. Valori consentiti: None, Cobertura, JaCoCo. Valore predefinito: None

Specifica uno strumento di code coverage per determinare il codice coperto dai test case per la compilazione.


codeCoverageClassFilesDirectories - directory dei file di classe
Alias di input: classFilesDirectories. string. Obbligatorio quando codeCoverageTool != None. Valore predefinito: build/classes/main/

Elenco delimitato da virgole di directory contenenti file di classe e file di archivio (.jar, war e altro ancora). Il code coverage viene segnalato per i file di classe in queste directory. In genere, l'attività cerca le classi in build/classes/java/main (per Gradle 4+), ovvero la directory di classi predefinita per le compilazioni Gradle.


codeCoverageClassFilter - filtri di inclusione/esclusione di classi
Alias di input: classFilter. string. Opzionale. Usare quando codeCoverageTool != None.

Elenco delimitato da virgole di filtri da includere o escludere classi dalla raccolta del code coverage. Ad esempio: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Errore in caso di risultati di code coverage mancanti
Alias di input: failIfCoverageEmpty. boolean. Opzionale. Usare quando codeCoverageTool != None. Valore predefinito: false

Non riesce la compilazione se il code coverage non ha prodotto alcun risultato da pubblicare.


codeCoverageGradle5xOrHigher - Versione >Gradle = 5.x
Alias di input: gradle5xOrHigher. boolean. Opzionale. Usare quando codeCoverageTool = JaCoCo. Valore predefinito: true

Impostalo su 'true' se gradle version è >= 5.x.


javaHomeOption - Impostare JAVA_HOME per
Alias di input: javaHomeSelection. string. Obbligatorio. Valori consentiti: JDKVersion (versione JDK), Path. Valore predefinito: JDKVersion

Imposta JAVA_HOME selezionando una versione JDK individuata dall'attività durante le compilazioni o immettendo manualmente un percorso JDK.


jdkVersionOption - versione di JDK
Alias di input: jdkVersion. string. Opzionale. Usare quando javaHomeSelection = JDKVersion. Valori consentiti: default, 1.17 (JDK 17), 1.11 (JDK 11), 1.10 (JDK 10 (senza supporto), 1.9 (JDK 9 (non supportato)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (supporto non supportato)). Valore predefinito: default

Tenta di individuare il percorso della versione JDK selezionata e impostare JAVA_HOME di conseguenza.


jdkVersionOption - versione di JDK
Alias di input: jdkVersion. string. Opzionale. Usare quando javaHomeSelection = JDKVersion. Valori consentiti: default, 1.11 (JDK 11), 1.10 (JDK 10 (non supportato)), 1.9 (JDK 9 (non supportato)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (non supportato)). Valore predefinito: default

Tenta di individuare il percorso della versione JDK selezionata e impostare JAVA_HOME di conseguenza.


jdkDirectory - percorso JDK
Alias di input: jdkUserInputPath. string. Obbligatorio quando javaHomeSelection = Path.

Imposta JAVA_HOME sul percorso specificato.


jdkArchitectureOption - architettura JDK
Alias di input: jdkArchitecture. string. Opzionale. Usare quando jdkVersion != default. Valori consentiti: x86, x64. Valore predefinito: x64

Fornisce l'architettura JDK (x86 o x64).


gradleOptions - Imposta GRADLE_OPTS
Alias di input: gradleOpts. string. Valore predefinito: -Xmx1024m

Imposta la variabile di ambiente GRADLE_OPTS utilizzata per inviare argomenti della riga di comando per avviare la JVM. Il flag xmx specifica la memoria massima disponibile per la JVM.


sonarQubeRunAnalysis - Esegui l'analisi SonarQube o SonarCloud
Alias di input: sqAnalysisEnabled. boolean. Valore predefinito: false

Questa opzione è stata modificata rispetto alla versione 1 dell'attività Gradle per l'utilizzo delle estensioni del marketplace SonarQube e SonarCloud . Abilitare questa opzione per eseguire l'analisi SonarQube o SonarCloud dopo aver eseguito le attività nel campo Attività . È inoltre necessario aggiungere un'attività Prepara configurazione analisi da una delle estensioni alla pipeline di compilazione prima di questa attività Gradle.


sqGradlePluginVersionChoice - Scanner SonarQube per la versione Gradle
string. Obbligatorio quando sqAnalysisEnabled = true. Valori consentiti: specify (Specificare il numero di versione), build (Utilizzare il plug-in applicato nel build.gradle). Valore predefinito: specify

Specifica la versione del plug-in SonarQube Gradle da utilizzare. Dichiarare la versione nel file di configurazione Gradle o specificare una versione con questa stringa.


sonarQubeGradlePluginVersion - Scanner SonarQube per la versione del plug-in Gradle
Alias di input: sqGradlePluginVersion. string. Obbligatorio quando sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Valore predefinito: 2.6.1

Contiene il numero di versione del plug-in SonarQube Gradle.


checkStyleRunAnalysis - Esegui checkstyle
Alias di input: checkstyleAnalysisEnabled. boolean. Valore predefinito: false

Esegue lo strumento Checkstyle con i controlli Sun predefiniti. I risultati vengono caricati come artefatti di compilazione.


findBugsRunAnalysis - Eseguire FindBugs
Alias di input: findbugsAnalysisEnabled. boolean. Valore predefinito: false

Usa lo strumento di analisi statica FindBugs per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione. In Gradle 6.0 questo plug-in è stato rimosso. Usare invece il plug-in SpotBugs.


pmdRunAnalysis - eseguire PMD
Alias di input: pmdAnalysisEnabled. boolean. Valore predefinito: false

Usa lo strumento di analisi statica Java PMD per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione.


spotBugsAnalysis - Esegui SpotBugs
Alias di input: spotBugsAnalysisEnabled. boolean. Valore predefinito: false

Viene eseguito spotBugs quando true. Questo plugin funziona con Gradle v5.6 o versioni successive. Scopri di più sull'utilizzo del plug-in SpotBugs Gradle. Il plug-in potrebbe funzionare in modo inaspettato o potrebbe non funzionare affatto con una versione precedente di Gradle.


spotBugsGradlePluginVersionChoice - Versione del plugin Spotbugs
string. Obbligatorio quando spotBugsAnalysisEnabled = true. Valori consentiti: specify (Specificare il numero di versione), build (Utilizzare il plug-in applicato nel build.gradle). Valore predefinito: specify

Specifica la versione del plug-in SpotBugs Gradle da utilizzare. La versione può essere dichiarata nel file di configurazione Gradle oppure la versione può essere specificata in questa stringa.


spotbugsGradlePluginVersion - Numero di versione
string. Obbligatorio quando spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Valore predefinito: 4.7.0

Contiene il numero di versione del plug-in SpotBugs Gradle .


Opzioni di controllo delle attività

Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di uscita

Nessuno.

Osservazioni:

La configurazione dell'analisi SonarQube è stata spostata nelle estensioni SonarQube o SonarCloud nell'attività Prepare Analysis Configuration.

Usare questa attività per compilare usando uno script wrapper Gradle.

Come si genera un wrapper dal progetto Gradle?

Il wrapper Gradle consente all'agente di compilazione di scaricare e configurare l'ambiente Gradle esatto archiviato nel repository senza avere alcuna configurazione software nell'agente di compilazione stesso diverso da JVM.

  1. Creare il wrapper Gradle eseguendo il comando seguente dalla directory del progetto radice in cui risiede build.gradle:

    jamal@fabrikam> gradle wrapper

  2. Caricare il wrapper Gradle nel repository remoto.

    È presente un artefatto binario generato dal wrapper gradle (che si trova in gradle/wrapper/gradle-wrapper.jar). Questo file binario è di piccole dimensioni e non richiede l'aggiornamento. Se è necessario modificare la configurazione gradle eseguita nell'agente di compilazione, aggiornare il gradle-wrapper.properties.

    Il repository dovrebbe avere un aspetto simile al seguente:

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

Come è possibile correggere i timeout durante il download delle dipendenze?

Per correggere errori come Read timed out durante il download delle dipendenze, gli utenti di Gradle 4.3+ possono modificare il timeout aggiungendo -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 a Options. Questo aumenta il timeout da 10 secondi a 1 minuto.

Esempi

Crea la tua app Java con Gradle

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Funzionalità Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione agente 1.91.0 o versione successiva
Categoria attività Costruire