ETC
Gradle에서 repository로 배포하는 task 작성하기
Jaime.Lee
2020. 2. 7. 17:10
먼저 배포할 모듈의 build.gradle 파일에 uploadArchives 라는 태스크를 추가합니다.
태스크 추가를 위해선 maven 플러그인이 필요하고 그 외의 메타데이터 정보들을 추가해주시면 됩니다.
plugins {
id 'maven'
// 생략
}
group = 'com.example.package'
version = '0.0.1'
sourceCompatibility = '1.8'
archivesBaseName = 'example-archives-base-name'
// 생략
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'path/to/repository') {
authentication(userName: 'repositoryId', password: 'repositoryPassword')
}
snapshotRepository(url: 'path/to/repository') {
authentication(userName: 'repositoryId', password: 'repositoryPassword')
}
}
}
}
IDE의 Gradle 툴에서 uploadArchives 태스크를 실행시키시거나 터미널에서 아래와 같이 입력합니다. (두 가지 방법 중 하나 사용)
> path/to/project > ./gradlew uploadArchives
> path/to/project > gradle uploadArchives
이렇게 배포하면(저는 nexus로 배포하였습니다)
com.example.package
ㄴ 0.0.1
ㄴ example-archives-base-name.jar
ㄴ example-archives-base-name.jar.md5
ㄴ example-archives-base-name.jar.sha1
ㄴ example-archives-base-name.pom
ㄴ example-archives-base-name.pom.md5
ㄴ example-archives-base-name.pom.sha1
위와 같은 구조로 jar 파일 및 pom 파일과 해시값 등이 생성됩니다.
다른 모듈에서 사용할 때는 build.gradle 파일에 아래와 같이 dependency를 추가하시면 됩니다.
dependencies {
implementation "com.example.package:example-base-archive-name:0.0.1"
}