Compartir vía


Gradle@1: tarea de Gradle v1

Compile con un script de contenedor de 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.

Entradas

gradleWrapperFile - Contenedor de Gradle
Alias de entrada: wrapperScript. string. Obligatorio. Valor predeterminado: gradlew.

Especifica la gradlew ubicación del contenedor dentro del repositorio que se usará para la compilación. Los agentes de Windows (incluidos los agentes hospedados por Microsoft) deben usar el gradlew.bat contenedor. Los agentes de Linux o macOS pueden usar el script de shell gradlew. Obtenga más información sobre el contenedor de Gradle.


options - Opciones
string.

Especifica las opciones de la línea de comandos que se pasarán al contenedor de Gradle. Consulte Línea de comandos de Gradle para obtener más información.


tasks - Tareas
string. Obligatorio. Valor predeterminado: build.

Tareas que gradle se van a ejecutar. Una lista de nombres de tarea debe separarse con espacios y puede obtenerse de gradlew tasks emitidas desde un símbolo del sistema.

Consulte Aspectos básicos del script de compilación de Gradle para obtener más información.


workingDirectory - Directorio de trabajo
Alias de entrada: cwd. string.

Especifica el directorio de trabajo para ejecutar la compilación de Gradle. La tarea usa el directorio raíz del repositorio si no se especifica el directorio de trabajo.


publishJUnitResults - Publicar en TFS/Team Services
boolean. Valor predeterminado: true.

Publica los resultados de prueba de JUnit generados por la compilación de Gradle en Azure Pipelines. La tarea publica cada archivo de resultados de prueba coincidente Test Results Files como una ejecución de prueba en Azure Pipelines.


testResultsFiles - Archivos de resultados de pruebas
string. Necesario cuando publishJUnitResults = true. Valor predeterminado: **/build/test-results/TEST-*.xml.

Ruta de acceso del archivo para los resultados de la prueba. Se pueden usar caracteres comodín. Por ejemplo, **/TEST-*.xml para todos los archivos XML cuyo nombre comienza por TEST-.


testRunTitle - Título de la ejecución de pruebas
string. Opcional. Use cuando publishJUnitResults = true.

Proporciona un nombre para los resultados del caso de prueba de JUnit para esta compilación.


codeCoverageToolOption - Herramienta de cobertura de código
Alias de entrada: codeCoverageTool. string. Valores permitidos: None, Cobertura y JaCoCo. Valor predeterminado: None.

Especifica una herramienta de cobertura de código para determinar el código cubierto por los casos de prueba de la compilación.


codeCoverageClassFilesDirectories - Directorios de archivos de clase
Alias de entrada: classFilesDirectories. string. Necesario cuando codeCoverageTool = false. Valor predeterminado: build/classes/main/.

Lista separada por comas de directorios que contienen archivos de clase y archivos de archivo (.jar, .war, etc.). La cobertura de código se notifica para los archivos de clase que están en estos directorios. Normalmente, la tarea busca clases en build/classes/java/main (para Gradle 4+), que es el directorio de clases predeterminado para las compilaciones de Gradle.


codeCoverageClassFilter - Filtros de inclusión y exclusión de clases
Alias de entrada: classFilter. string. Opcional. Use cuando codeCoverageTool != None.

Lista separada por comas de filtros que se van a incluir o excluir clases de recopilación de cobertura de código. Por ejemplo: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Error cuando faltan resultados de cobertura de código
Alias de entrada: failIfCoverageEmpty. boolean. Opcional. Use cuando codeCoverageTool != None. Valor predeterminado: false.

Se produce un error en la compilación si la cobertura de código no ha generado ningún resultado para publicar.


javaHomeOption - Establecer JAVA_HOME por
Alias de entrada: javaHomeSelection. string. Obligatorio. Valores permitidos: JDKVersion (versión de JDK), Path. Valor predeterminado: JDKVersion.

Establece JAVA_HOME seleccionando una versión de JDK que la tarea detecta durante las compilaciones o escribiendo manualmente una ruta de acceso de JDK.


jdkVersionOption - Versión de JDK
Alias de entrada: jdkVersion. string. Opcional. Use cuando javaHomeSelection = JDKVersion. Valores permitidos: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Valor predeterminado: default.

Intenta detectar la ruta de acceso a la versión de JDK seleccionada y establecer JAVA_HOME en consecuencia.


jdkDirectory - Ruta de acceso de JDK
Alias de entrada: jdkUserInputPath. string. Necesario cuando javaHomeSelection = Path.

Establece JAVA_HOME en la ruta de acceso especificada.


jdkArchitectureOption - Arquitectura de JDK
Alias de entrada: jdkArchitecture. string. Opcional. Use cuando jdkVersion != default. Valores permitidos: x86, x64. Valor predeterminado: x64.

Proporciona la arquitectura JDK (x86 o x64).


gradleOptions - Establecer GRADLE_OPTS
Alias de entrada: gradleOpts. string. Valor predeterminado: -Xmx1024m.

Establece la variable de entorno GRADLE_OPTS, que se usa para enviar argumentos de línea de comandos para iniciar la JVM. La xmx marca especifica la memoria máxima disponible para la JVM.


sonarQubeRunAnalysis - Ejecutar análisis de SonarQube
Alias de entrada: sqAnalysisEnabled. boolean. Valor predeterminado: false.

Ejecuta un análisis de SonarQube después de ejecutar los objetivos actuales. install o package los objetivos deben ejecutarse primero.


sonarQubeServiceEndpoint - Punto de conexión de SonarQube
Alias de entrada: sqConnectedServiceName. string. Necesario cuando sqAnalysisEnabled = true.

Punto de conexión que especifica el servidor SonarQube que se va a usar.


sonarQubeProjectName - SonarQube Project Name
Alias de entrada: sqProjectName. string. Necesario cuando sqAnalysisEnabled = true.

Nombre del proyecto SonarQube, que es sonar.projectName.


sonarQubeProjectKey - Clave del proyecto SonarQube
Alias de entrada: sqProjectKey. string. Necesario cuando sqAnalysisEnabled = true.

Clave única del proyecto SonarQube, que es sonar.projectKey.


sonarQubeProjectVersion - SonarQube Project Version
Alias de entrada: sqProjectVersion. string. Necesario cuando sqAnalysisEnabled = true.

La versión del proyecto SonarQube, que es sonar.projectVersion.


sonarQubeGradlePluginVersion - Versión del complemento SonarQube Gradle
Alias de entrada: sqGradlePluginVersion. string. Necesario cuando sqAnalysisEnabled = true. Valor predeterminado: 2.0.1.

Contiene el número de versión del complemento SpotBugs Gradle.


sonarQubeSpecifyDB - La versión del servidor sonarQube es inferior a la 5.2
Alias de entrada: sqDbDetailsRequired. boolean. Opcional. Use cuando sqAnalysisEnabled = true. Valor predeterminado: false.

SonarQube server 5.1 y versiones inferiores. Especifica los detalles de conexión de la base de datos.


sonarQubeDBUrl - Cadena de conexión de base de datos
Alias de entrada: sqDbUrl. string. Opcional. Use cuando sqDbDetailsRequired = true.

SonarQube server versión 5.1 y versiones anteriores. Escribe la configuración de conexión de base de datos, es sonar.jdbc.urldecir, . Por ejemplo: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Nombre de usuario de base de datos
Alias de entrada: sqDbUsername. string. Opcional. Use cuando sqDbDetailsRequired = true.

SonarQube server 5.1 y versiones inferiores. Escribe el nombre de usuario del usuario de la base de datos, que es sonar.jdbc.username.


sonarQubeDBPassword - Contraseña de usuario de base de datos
Alias de entrada: sqDbPassword. string. Opcional. Use cuando sqDbDetailsRequired = true.

SonarQube server 5.1 y versiones inferiores. Escriba la contraseña del usuario de la base de datos, que es sonar.jdbc.password.


sonarQubeIncludeFullReport - Incluir informe de análisis completo en el resumen de compilación (SQ 5.3+)
Alias de entrada: sqAnalysisIncludeFullReport. boolean. Opcional. Use cuando sqAnalysisEnabled = true. Valor predeterminado: true.

Retrasa la compilación hasta que se completa el análisis de SonarQube.


sonarQubeFailWhenQualityGateFails - Error en la compilación en el error de puerta de calidad (SQ 5.3+)
Alias de entrada: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Opcional. Use cuando sqAnalysisEnabled = true.

SonarQube server versión 5.3 o superior. Presenta retrasos, ya que la compilación debe esperar a que SonarQube complete el análisis. Obtenga más información sobre el uso de SonarQube para compilaciones.


checkStyleRunAnalysis - Ejecutar Checkstyle
Alias de entrada: checkstyleAnalysisEnabled. boolean. Valor predeterminado: false.

Ejecuta la herramienta Checkstyle con las comprobaciones de Sun predeterminadas. Los resultados se cargan como artefactos de compilación.


findBugsRunAnalysis - Ejecutar FindBugs
Alias de entrada: findbugsAnalysisEnabled. boolean. Valor predeterminado: false.

Usa la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación. En Gradle 6.0, este complemento se quitó. En su lugar, use el complemento SpotBugs.


pmdRunAnalysis - Ejecución de PMD
Alias de entrada: pmdAnalysisEnabled. boolean. Valor predeterminado: false.

Usa la herramienta de análisis estático de Java de PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Comentarios

Nota

Hay una versión más reciente de esta tarea disponible en Gradle@3.

Nota

Hay una versión más reciente de esta tarea disponible en Gradle@2.

La configuración del análisis de SonarQube se movió a las extensiones SonarQube o SonarCloud en la tarea Prepare Analysis Configuration.

Use esta tarea para compilar con un script de contenedor de Gradle.

¿Cómo genero un contenedor a partir de mi proyecto de Gradle?

El contenedor de Gradle permite que el agente de compilación descargue y configure el entorno de Gradle exacto que se comprueba en el repositorio sin tener ninguna configuración de software en el propio agente de compilación distinta de JVM.

  1. Cree el contenedor de Gradle mediante la emisión del siguiente comando desde el directorio raíz del proyecto donde reside build.gradle:

    jamal@fabrikam> gradle wrapper

  2. Cargue el contenedor de Gradle en el repositorio remoto.

    Hay un artefacto binario generado por el contenedor de gradle (ubicado en gradle/wrapper/gradle-wrapper.jar). Este archivo binario es pequeño y no requiere actualización. Si necesita cambiar la configuración de Gradle ejecutada en el agente de compilación, actualice gradle-wrapper.properties.

    El repositorio debería tener un aspecto similar a este:

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

¿Cómo corrijo los tiempos de espera al descargar dependencias?

Para corregir errores como Read timed out al descargar dependencias, los usuarios de Gradle 4.3+ pueden cambiar el tiempo de espera agregando -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 a Options. Esto aumenta el tiempo de espera de 10 segundos a un minuto.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas para ejecutar trabajos que usan esta tarea: java
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 1.91.0 o superior
Categoría de la tarea: Build