Gradle-デプロイ

Gradleは、ビルドアーティファクトリポジトリをデプロイするいくつかの方法を提供します。アーティファクトの署名をMavenリポジトリーにデプロイするときは、公開されたPOMファイルにも署名する必要があります。

Maven公開プラグインの使用

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に変換する

ApacheMavenを変換するための特別なコマンドがあります pom.xml 使用されているすべてのMavenプラグインがこのタスクで認識されている場合は、ファイルをGradleビルドファイルに変換します。

このセクションでは、次の pom.xmlMaven構成は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'
}