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 사용 된 모든 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'
}