Gradle - Déploiement

Gradle propose plusieurs façons de déployer des référentiels d'artefacts de build. Lors du déploiement de signatures pour vos artefacts dans un référentiel Maven, vous souhaiterez également signer le fichier POM publié.

Utilisation du plugin Maven-publish

maven-publishplugin, qui est fourni par Gradle par défaut. Utilisé pour publier le script gradle. Jetez un œil au code suivant.

apply plugin: 'java'
apply plugin: 'maven-publish'

publishing {
   publications {
      mavenJava(MavenPublication) {
         from components.java
      }
   }

   repositories {
      maven {
         url "$buildDir/repo"
      }
   }
}

Il existe plusieurs options de publication, lorsque le Java et le maven-publishle plugin est appliqué. Jetez un œil au code suivant, il déploiera le projet dans un référentiel distant.

apply plugin: 'groovy'
apply plugin: 'maven-publish'

group 'workshop'
version = '1.0.0'

publishing {
   publications {
      mavenJava(MavenPublication) { 
         from components.java 
      }
   }
	
   repositories {
      maven {
          default credentials for a nexus repository manager
         credentials {
            username 'admin'
            password 'admin123'
         }
         // url to the releases maven repository
            url "http://localhost:8081/nexus/content/repositories/releases/"
      }
   }
}

Conversion d'un projet de Maven en Gradle

Il existe une commande spéciale pour convertir Apache Maven pom.xml fichiers vers les fichiers de construction Gradle, si tous les plug-ins Maven utilisés sont connus pour cette tâche.

Dans cette section, ce qui suit pom.xmlLa configuration maven sera convertie en projet Gradle. Jetez-y un coup d'œil.

<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
	
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.example.app</groupId>
   <artifactId>example-app</artifactId>
   <packaging>jar</packaging>
   
   <version>1.0.0-SNAPSHOT</version>
	
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>

         <version>4.11</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
	
</project>

Vous pouvez utiliser la commande suivante sur la ligne de commande qui entraîne la configuration Gradle suivante.

C:\> gradle init --type pom

le init La tâche dépend de la tâche de l’encapsuleur afin qu’un wrapper Gradle soit créé.

La résultante build.gradle le fichier ressemble à ceci -

apply plugin: 'java'
apply plugin: 'maven'

group = 'com.example.app'
version = '1.0.0-SNAPSHOT'

description = """"""

sourceCompatibility = 1.5
targetCompatibility = 1.5

repositories {
   maven { url "http://repo.maven.apache.org/maven2" }
}

dependencies {
   testCompile group: 'junit', name: 'junit', version:'4.11'
}