Gradle@3 - Tâche Gradle v3

Utilisez cette tâche pour générer à l’aide d’un script wrapper Gradle.

Syntaxe

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

Entrées

gradleWrapperFile - Wrapper Gradle
Alias d’entrée : wrapperScript. string. Obligatoire. Valeur par défaut : gradlew.

Spécifie l’emplacement gradlew du wrapper dans le référentiel qui sera utilisé pour la build. Les agents sur Windows (y compris les agents hébergés par Microsoft) doivent utiliser le gradlew.bat wrapper. Les agents sur Linux ou macOS peuvent utiliser le script shell gradlew . En savoir plus sur le wrapper Gradle.


workingDirectory - Répertoire de travail
Alias d’entrée : cwd. string.

Spécifie le répertoire de travail pour exécuter la build Gradle. La tâche utilise le répertoire racine du dépôt si le répertoire de travail n’est pas spécifié.


options - Options
string.

Spécifie les options de ligne de commande qui seront passées au wrapper Gradle. Pour plus d’informations, consultez Ligne de commande Gradle .


tasks - Tâches
string. Obligatoire. Valeur par défaut : build.

Tâche(s) que Gradle doit exécuter. Une liste de noms de tâches doit être séparée par des espaces et peut être extraite d’une invite de gradlew tasks commandes.

Pour plus d’informations, consultez Notions de base de Gradle Build Script .


publishJUnitResults - Publier sur Azure Pipelines
boolean. Valeur par défaut : true.

Publie les résultats des tests JUnit produits par la build Gradle dans Azure Pipelines. La tâche publie chaque fichier de résultats de test correspondant Test Results Files en tant que série de tests dans Azure Pipelines.


testResultsFiles - Fichiers de résultats de test
string. Obligatoire quand publishJUnitResults = true. Valeur par défaut : **/TEST-*.xml.

Chemin d’accès au fichier pour les résultats des tests. Les caractères génériques peuvent être utilisés. Par exemple, **/TEST-*.xml pour tous les fichiers XML dont le nom commence par TEST-.


testRunTitle - Titre de la série de tests
string. Optionnel. Utilisez quand publishJUnitResults = true.

Fournit un nom pour les résultats du cas de test JUnit pour cette build.


codeCoverageToolOption - Outil de couverture du code
Alias d’entrée : codeCoverageTool. string. Valeurs autorisées : None, Cobertura, JaCoCo. Valeur par défaut : None.

Spécifie un outil de couverture du code pour déterminer le code couvert par les cas de test pour la build.


codeCoverageClassFilesDirectories - Répertoires de fichiers de classe
Alias d’entrée : classFilesDirectories. string. Obligatoire quand codeCoverageTool != None. Valeur par défaut : build/classes/main/.

Liste de répertoires séparés par des virgules contenant des fichiers de classe et des fichiers d’archive (.jar, .war, etc.). La couverture du code est signalée pour les fichiers de classe dans ces répertoires. Normalement, la tâche recherche les classes sous build/classes/java/main (pour Gradle 4+), qui est le répertoire de classe par défaut pour les builds Gradle.


codeCoverageClassFilter - Filtres d’inclusion/d’exclusion de classe
Alias d’entrée : classFilter. string. Optionnel. Utilisez quand codeCoverageTool != None.

Liste de filtres séparés par des virgules pour inclure ou exclure des classes de la collecte de la couverture du code. Par exemple : +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Échec lorsque les résultats de la couverture du code sont manquants
Alias d’entrée : failIfCoverageEmpty. boolean. Optionnel. Utilisez quand codeCoverageTool != None. Valeur par défaut : false.

Échec de la génération si la couverture du code n’a pas produit de résultats à publier.


codeCoverageGradle5xOrHigher - Version >Gradle = 5.x
Alias d’entrée : gradle5xOrHigher. boolean. Optionnel. Utilisez quand codeCoverageTool = JaCoCo. Valeur par défaut : true.

Définissez cette valeur sur « true » si la version gradle est >= 5.x.


javaHomeOption - Définir JAVA_HOME par
Alias d’entrée : javaHomeSelection. string. Obligatoire. Valeurs autorisées : JDKVersion (version JDK), Path. Valeur par défaut : JDKVersion.

Définit JAVA_HOME en sélectionnant une version du JDK que la tâche découvre pendant les builds ou en entrant manuellement un chemin DDK.


jdkVersionOption - Version du JDK
Alias d’entrée : jdkVersion. string. facultatif. Utilisez quand javaHomeSelection = JDKVersion. Valeurs autorisées : default, 1.11 (JDK 11), 1.10 (JDK 10 (hors support)), 1.9 (JDK 9 (hors support)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (hors support)). Valeur par défaut : default.

Tente de découvrir le chemin d’accès à la version JDK sélectionnée et de définir JAVA_HOME en conséquence.


jdkDirectory - Chemin JDK
Alias d’entrée : jdkUserInputPath. string. Obligatoire quand javaHomeSelection = Path.

Définit JAVA_HOME au chemin d’accès donné.


jdkArchitectureOption - Architecture JDK
Alias d’entrée : jdkArchitecture. string. facultatif. Utilisez quand jdkVersion != default. Valeurs autorisées : x86, x64. Valeur par défaut : x64.

Fournit l’architecture JDK (x86 ou x64).


gradleOptions - Définir GRADLE_OPTS
Alias d’entrée : gradleOpts. string. Valeur par défaut : -Xmx1024m.

Définit la variable d’environnement GRADLE_OPTS, qui est utilisée pour envoyer des arguments de ligne de commande afin de démarrer la machine virtuelle JVM. L’indicateur xmx spécifie la mémoire maximale disponible pour la machine virtuelle JVM.


sonarQubeRunAnalysis - Exécuter SonarQube ou SonarCloud Analysis
Alias d’entrée : sqAnalysisEnabled. boolean. Valeur par défaut : false.

Cette option est passée de la version 1 de la tâche Gradle pour utiliser les extensions de la place de marché SonarQube et SonarCloud . Activez cette option pour exécuter l’analyse SonarQube ou SonarCloud après avoir exécuté des tâches dans le champ Tâches . Vous devez également ajouter une tâche Préparer la configuration de l’analyse à partir de l’une des extensions au pipeline de build avant cette tâche Gradle.


sqGradlePluginVersionChoice - Scanneur SonarQube pour la version Gradle
string. Obligatoire quand sqAnalysisEnabled = true. Valeurs autorisées : specify (Spécifiez le numéro de version), build (Utilisez le plug-in appliqué dans votre fichier build.gradle). Valeur par défaut : specify.

Spécifie la version du plug-in SonarQube Gradle à utiliser. Déclarez la version dans le fichier de configuration Gradle ou spécifiez une version avec cette chaîne.


sonarQubeGradlePluginVersion - Scanner SonarQube pour la version du plug-in Gradle
Alias d’entrée : sqGradlePluginVersion. string. Obligatoire quand sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Valeur par défaut : 2.6.1.

Contient le numéro de version du plug-in SonarQube Gradle.


checkStyleRunAnalysis - Exécuter checkstyle
Alias d’entrée : checkstyleAnalysisEnabled. boolean. Valeur par défaut : false.

Exécute l’outil Checkstyle avec les vérifications Sun par défaut. Les résultats sont chargés en tant qu’artefacts de build.


findBugsRunAnalysis - Exécuter FindBugs
Alias d’entrée : findbugsAnalysisEnabled. boolean. Valeur par défaut : false.

Utilise l’outil d’analyse statique FindBugs pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build. Dans Gradle 6.0, ce plug-in a été supprimé. Utilisez le plug-in SpotBugs à la place.


pmdRunAnalysis - Exécuter PMD
Alias d’entrée : pmdAnalysisEnabled. boolean. Valeur par défaut : false.

Utilise l’outil d’analyse statique Java PMD pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build.


spotBugsAnalysis - Exécuter SpotBugs
Alias d’entrée : spotBugsAnalysisEnabled. boolean. Valeur par défaut : false.

S’exécute spotBugs quand true. Ce plug-in fonctionne avec Gradle v5.6 ou version ultérieure. En savoir plus sur l’utilisation du plug-in SpotBugs Gradle. Le plug-in peut fonctionner de manière inattendue ou ne pas fonctionner du tout avec une version antérieure de Gradle.


spotBugsGradlePluginVersionChoice - Version du plug-in Spotbugs
string. Obligatoire quand spotBugsAnalysisEnabled = true. Valeurs autorisées : specify (Spécifiez le numéro de version), build (Utilisez le plug-in appliqué dans votre fichier build.gradle). Valeur par défaut : specify.

Spécifie la version du plug-in SpotBugs Gradle à utiliser. La version peut être déclarée dans le fichier de configuration Gradle, ou la version peut être spécifiée dans cette chaîne.


spotbugsGradlePluginVersion - Numéro de version
string. Obligatoire quand spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Valeur par défaut : 4.7.0.

Contient le numéro de version du plug-in SpotBugs Gradle.


Options de contrôle des tâches

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

La configuration de l’analyse SonarQube a été déplacée vers les extensions SonarQube ou SonarCloud dans la tâche Prepare Analysis Configuration.

Utilisez cette tâche pour générer à l’aide d’un script wrapper Gradle.

Comment faire générer un wrapper à partir de mon projet Gradle ?

Le wrapper Gradle permet à l’agent de build de télécharger et de configurer l’environnement Gradle exact qui est archivé dans le référentiel sans avoir de configuration logicielle sur l’agent de build lui-même autre que la machine virtuelle JVM.

  1. Créez le wrapper Gradle en émettant la commande suivante à partir du répertoire de projet racine où réside votre fichier build.gradle :

    jamal@fabrikam> gradle wrapper

  2. Chargez votre wrapper Gradle dans votre dépôt distant.

    Il existe un artefact binaire qui est généré par le wrapper gradle (situé à l’emplacement gradle/wrapper/gradle-wrapper.jar). Ce fichier binaire est petit et ne nécessite pas de mise à jour. Si vous devez modifier l’exécution de la configuration Gradle sur l’agent de build, vous mettez à jour le gradle-wrapper.properties.

    Le dépôt doit ressembler à ceci :

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

Comment faire corriger les délais d’expiration lors du téléchargement des dépendances ?

Pour corriger les erreurs telles que Read timed out lors du téléchargement des dépendances, les utilisateurs de Gradle 4.3+ peuvent modifier le délai d’expiration en ajoutant -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 à Options. Cela augmente le délai d’expiration de 10 secondes à 1 minute.

Exemples

Créer votre application Java avec Gradle

Spécifications

Condition requise Description
Types de pipelines YAML, build classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 1.91.0 ou version ultérieure
Catégorie de la tâche Build