Gradle: implementación
Gradle ofrece varias formas de implementar repositorios de artefactos de compilación. Al implementar firmas para sus artefactos en un repositorio de Maven, también querrá firmar el archivo POM publicado.
Uso del complemento de publicación de Maven
maven-publishcomplemento, que proporciona Gradle de forma predeterminada. Se usa para publicar el script de Gradle. Eche un vistazo al siguiente código.
apply plugin: 'java'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
maven {
url "$buildDir/repo"
}
}
}
Hay varias opciones de publicación, cuando el Java y el maven-publishse aplica el complemento. Eche un vistazo al siguiente código, implementará el proyecto en un repositorio remoto.
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/"
}
}
}
Conversión de un proyecto de Maven a Gradle
Hay un comando especial para convertir Apache Maven pom.xml a los archivos de compilación de Gradle, si todos los complementos de Maven utilizados son conocidos para esta tarea.
En esta sección lo siguiente pom.xmlLa configuración de maven se convertirá en un proyecto de Gradle. Échale un vistazo.
<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>
Puede usar el siguiente comando en la línea de comandos que da como resultado la siguiente configuración de Gradle.
C:\> gradle init --type pom
los init La tarea depende de la tarea contenedora para que se cree una contenedor Gradle.
La resultante build.gradle el archivo se parece a esto:
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'
}