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