Gradle - Развертывание
Gradle предлагает несколько способов развертывания репозиториев артефактов сборки. При развертывании подписей для ваших артефактов в репозитории Maven вы также захотите подписать опубликованный файл POM.
Использование плагина Maven-publish
maven-publishплагин, который по умолчанию предоставляется Gradle. Используется для публикации скрипта Gradle. Взгляните на следующий код.
apply plugin: 'java'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
maven {
url "$buildDir/repo"
}
}
}
Есть несколько вариантов публикации, когда Java и maven-publishплагин применяется. Взгляните на следующий код, он развернет проект в удаленном репозитории.
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/"
}
}
}
Преобразование проекта из Maven в Gradle
Есть специальная команда для конвертации Apache Maven pom.xml файлы в файлы сборки Gradle, если для этой задачи известны все используемые плагины Maven.
В этом разделе следующие pom.xmlКонфигурация maven будет преобразована в проект Gradle. Взгляните на это.
<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>
Вы можете использовать следующую команду в командной строке, что приведет к следующей конфигурации Gradle.
C:\> gradle init --type pom
В init задача зависит от задачи оболочки, поэтому создается оболочка Gradle.
Результирующий build.gradle файл выглядит примерно так -
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'
}