Gradle-deployment
提供:Dev Guides
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に変換する
使用されているすべてのMavenプラグインがこのタスクで認識されている場合、Apache Maven pom.xml ファイルをGradleビルドファイルに変換する特別なコマンドがあります。
このセクションでは、次の 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'
}