Gradle - Dağıtım

Gradle, yapı oluşturma depolarını dağıtmanın birkaç yolunu sunar. Eserleriniz için imzaları bir Maven deposuna dağıtırken, yayınlanan POM dosyasını da imzalamak isteyeceksiniz.

Maven-publish Eklentisini kullanma

maven-publishvarsayılan olarak Gradle tarafından sağlanan eklenti. Gradle komut dosyasını yayınlamak için kullanılır. Aşağıdaki koda bir göz atın.

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

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

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

Birkaç yayınlama seçeneği vardır, Java ve maven-publisheklenti uygulandı. Aşağıdaki koda bir göz atın, projeyi uzak bir depoya yerleştirecektir.

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/"
      }
   }
}

Bir Projeyi Maven'den Gradle'a Dönüştürme

Apache Maven'i dönüştürmek için özel bir komut var pom.xml Dosyaları Gradle derleme dosyalarına çevirin, eğer kullanılan tüm Maven eklentileri bu görev tarafından biliniyorsa.

Bu bölümde aşağıdaki pom.xmlmaven yapılandırması bir Gradle projesine dönüştürülecek. İçine bir bakın.

<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>

Aşağıdaki Gradle yapılandırmasıyla sonuçlanan komut satırında aşağıdaki komutu kullanabilirsiniz.

C:\> gradle init --type pom

init görevi sarmalayıcı görevine bağlıdır, böylece bir Gradle sarmalayıcısı oluşturulur.

Sonuç build.gradle dosya buna benzer görünüyor -

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'
}