Gradle@1 - Tâche Gradle v1

Générez à l’aide d’un script wrapper Gradle.

Syntax

# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # Advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '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.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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 = false. 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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Required when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #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.

Entrées

gradleWrapperFile - Gradle Wrapper
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.


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 des gradlew tasks émises à partir d’une invite de commande.

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


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


publishJUnitResults - Publier sur TFS/Team Services
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. Nécessaire lorsque publishJUnitResults = true. Valeur par défaut : **/build/test-results/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. facultatif. 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. Nécessaire lorsque codeCoverageTool = false. 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 de 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. facultatif. 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. facultatif. 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.


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 - JDK Version
Alias d’entrée : jdkVersion. string. facultatif. Utilisez quand javaHomeSelection = JDKVersion. Valeurs autorisées : default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). 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. Nécessaire lorsque javaHomeSelection = Path.

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


jdkArchitectureOption - JDK Architecture
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 l’analyse SonarQube
Alias d’entrée : sqAnalysisEnabled. boolean. Valeur par défaut : false.

Exécute une analyse SonarQube après l’exécution des objectifs actuels. install ou package les objectifs doivent être exécutés en premier.


sonarQubeServiceEndpoint - Point de terminaison SonarQube
Alias d’entrée : sqConnectedServiceName. string. Nécessaire lorsque sqAnalysisEnabled = true.

Point de terminaison qui spécifie le serveur SonarQube à utiliser.


sonarQubeProjectName - Nom du projet SonarQube
Alias d’entrée : sqProjectName. string. Nécessaire lorsque sqAnalysisEnabled = true.

Nom du projet SonarQube, c’est-à-dire sonar.projectName.


sonarQubeProjectKey - Clé de projet SonarQube
Alias d’entrée : sqProjectKey. string. Nécessaire lorsque sqAnalysisEnabled = true.

La clé unique du projet SonarQube, c’est-à-dire sonar.projectKey.


sonarQubeProjectVersion - Version du projet SonarQube
Alias d’entrée : sqProjectVersion. string. Nécessaire lorsque sqAnalysisEnabled = true.

La version du projet SonarQube, c’est-à-dire sonar.projectVersion.


sonarQubeGradlePluginVersion - Version du plug-in SonarQube Gradle
Alias d’entrée : sqGradlePluginVersion. string. Nécessaire lorsque sqAnalysisEnabled = true. Valeur par défaut : 2.0.1.

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


sonarQubeSpecifyDB - La version du serveur SonarQube est inférieure à 5.2
Alias d’entrée : sqDbDetailsRequired. boolean. facultatif. Utilisez quand sqAnalysisEnabled = true. Valeur par défaut : false.

SonarQube server 5.1 et versions antérieures uniquement. Spécifie les détails de connexion à la base de données.


sonarQubeDBUrl - Chaîne de connexion à la base de données
Alias d’entrée : sqDbUrl. string. facultatif. Utilisez quand sqDbDetailsRequired = true.

Serveur SonarQube version 5.1 et antérieure uniquement. Entre le paramètre de connexion de base de données, qui est sonar.jdbc.url. Par exemple : jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Nom d’utilisateur de la base de
Alias d’entrée : sqDbUsername. string. facultatif. Utilisez quand sqDbDetailsRequired = true.

SonarQube server 5.1 et versions antérieures uniquement. Entre le nom d’utilisateur de l’utilisateur de base de données, c’est-à-dire sonar.jdbc.username.


sonarQubeDBPassword - Mot de passe de l’utilisateur de base de données
Alias d’entrée : sqDbPassword. string. facultatif. Utilisez quand sqDbDetailsRequired = true.

SonarQube server 5.1 et versions antérieures uniquement. Entrez le mot de passe de l’utilisateur de la base de données, c’est-à-dire sonar.jdbc.password.


sonarQubeIncludeFullReport - Inclure le rapport d’analyse complet dans le résumé de build (SQ 5.3+)
Alias d’entrée : sqAnalysisIncludeFullReport. boolean. facultatif. Utilisez quand sqAnalysisEnabled = true. Valeur par défaut : true.

Retarde la génération jusqu’à ce que l’analyse SonarQube soit terminée.


sonarQubeFailWhenQualityGateFails - Échec de la build en cas d’échec de la porte de qualité (SQ 5.3+)
Alias d’entrée : sqAnalysisBreakBuildIfQualityGateFailed. boolean. facultatif. Utilisez quand sqAnalysisEnabled = true.

Serveur SonarQube version 5.3 ou ultérieure uniquement. Introduit des retards, car la build doit attendre que SonarQube termine l’analyse. En savoir plus sur l’utilisation de SonarQube pour les builds.


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.


Options de contrôle de la tâche

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

Notes

Une version plus récente de cette tâche est disponible à Gradle@3.

Notes

Une version plus récente de cette tâche est disponible à Gradle@2.

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 de wrapper Gradle.

Comment 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 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 sur votre référentiel 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, il faut mettre à jour le gradle-wrapper.properties.

    Le référentiel 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’attente 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’attente de 10 secondes à 1 minute.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique
S’exécute sur Agent, DeploymentGroup
Demandes Les agents auto-hébergés doivent avoir des fonctionnalités qui correspondent aux exigences suivantes pour exécuter des travaux qui utilisent cette tâche : java
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 1.91.0 ou version ultérieure
Catégorie de la tâche Build