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

Input

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

Specifica il gradlew percorso del wrapper all'interno del repository che verrà usato per la compilazione. Gli agenti in Windows (inclusi gli agenti ospitati da Microsoft) devono usare il gradlew.bat wrapper. Gli agenti in Linux o macOS possono usare lo gradlew script della shell. Altre informazioni su Gradle Wrapper.


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 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 ottenuto da gradlew tasks un prompt dei comandi.

Per altre informazioni , vedere Nozioni di base sullo script di compilazione gradle .


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

Pubblica i risultati dei test JUnit prodotti dalla build Gradle in Azure Pipelines. L'attività pubblica ogni file di risultati di 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. I caratteri jolly possono essere usati. Ad esempio, **/TEST-*.xml per tutti i file XML il cui nome inizia con TEST-.


testRunTitle - Titolo esecuzione test
string. Facoltativa. 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 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 classe predefinita per le compilazioni Gradle.


codeCoverageClassFilter - Filtri di inclusione/esclusione della classe
Alias di input: classFilter. string. Facoltativa. Usare quando codeCoverageTool != None.

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


codeCoverageFailIfEmpty - Esito negativo quando mancano i risultati della code coverage
Alias di input: failIfCoverageEmpty. boolean. Facoltativa. Usare quando codeCoverageTool != None. Valore predefinito: false.

Non riesce la compilazione se code coverage non ha prodotto risultati da pubblicare.


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

Impostare questa opzione 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 JDK
Alias di input: jdkVersion. string. Facoltativa. Usare quando javaHomeSelection = JDKVersion. Valori consentiti: default, 1.11 (JDK 11), (JDK 10 (fuori supporto) 1.9 ), (JDK 9 (fuori supporto)), (JDK 8 1.7 ), 1.10 (JDK 7 1.6 ), (JDK 6 (fuori supporto 1.8 )). 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. Facoltativa. Usare quando jdkVersion != default. Valori consentiti: x86, x64. Valore predefinito: x64.

Fornisce l'architettura JDK (x86 o x64).


gradleOptions - Impostare 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 xmx flag specifica la memoria massima disponibile per la JVM.


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

Questa opzione è stata modificata dalla versione 1 dell'attività Gradle per usare le estensioni sonarQube e SonarCloud del marketplace. Abilitare questa opzione per eseguire l'analisi sonarQube o SonarCloud dopo l'esecuzione di attività nel campo Attività . È inoltre necessario aggiungere un'attività Prepare Analysis Configuration 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 (Usare il plug-in applicato nel file build.gradle). Valore predefinito: specify.

Specifica la versione del plug-in SonarQube Gradle da usare. Dichiarare la versione nel file di configurazione Gradle oppure 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 - Eseguire 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 i 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 - Eseguire SpotBugs
Alias di input: spotBugsAnalysisEnabled. boolean. Valore predefinito: false.

Viene eseguito spotBugs quando true. Questo plug-in funziona con Gradle v5.6 o versione successiva. Altre informazioni sull'uso del plug-in SpotBugs Gradle. Il plug-in può funzionare in modo imprevisto o potrebbe non funzionare affatto con una versione precedente di Gradle.


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

Specifica la versione del plug-in SpotBugs Gradle da usare. 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 attività

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

Variabili di output

No.

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.

Ricerca per categorie generare 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 si trova 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 è piccolo e non richiede l'aggiornamento. Se è necessario modificare la configurazione gradle eseguita nell'agente di compilazione, aggiornare .gradle-wrapper.properties

    Il repository avrà un aspetto simile al seguente:

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

Ricerca per categorie correggere i timeout durante il download delle dipendenze?

Per correggere gli errori, ad Read timed out esempio 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.

Esempio

Compilare l'app Java con Gradle

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 1.91.0 o versione successiva
Categoria attività Compilare