예전 개인적으로 만들어 두었던 eisenUtils 라이브러리에 몇가지 메서드를 추가하기로 했습니다. 그런데 몇가지 수정해야할 부분들이 보이더군요. 작년 딱 이맘때쯤에 github의 eisenUtils repo를 생성했었습니다. 확인해보니 필요없는 파일들도 많이 올라가져 있고 eclipse와 maven으로 생성되었더군요. 그래서 이번에 maven을 graddle로 변경해 보기로 했습니다. 참고: 여기를 참고하여 변경해 보았습니다.
maven to gradle
why gradle?
위의 링크에서 볼 수 있듯이 maven과 비교했을 때 performance 차이가 생각보다 큽니다.
자세한 내용은 링크에서 확인하실 수 있습니다.
gradle 설치
1. 다운로드
아래 링크에서 파일을 다운로드 합니다.
2. 환경 변수 편집
환경변수 설정에서 Path에 C:\Gradle\gradle-8.0\bin 추가 합니다.
터미널에서(저는 git bash를 사용했습니다.) 켜고 gradle -v
를 실행해 잘 설치되었는지 확인해 봅니다.
maven to gradle
gradle init
gradle -v
커멘드로 graddle이 설치된 것을 확인하셨다면 변환할 폴더(pom.xml
이 위치한)로 이동합니다.
eisenUitls 프로젝트의 pom.xml이 있는 폴더 위치에서 gradle init
을 실행합니다.
build scirpt DSL을 선택하라고 하는데 저는 Groovy에 눈꼽만큼 좀 더 익숙하기에 Groovy를 선택했습니다.
또한 새로운 API 들을 생성할것이냐고 묻는데 해당 API는 바뀔 수도 있다고 해서 no를 입력했습니다.
Build가 성공했습니다.
gradle setting
gradle init
커맨드가 성공적으로 실행 되었으면 몇가지 gradle 파일이 추가된 것을 확인할 수 있습니다. 이제 폴더에 존재하는 pom.xml파일은 삭제해 줍니다.
그 후 intellij로 프로젝트를 open 하면 아래와 같이 Gradle build scripts found
라는 문구가 우측 하단에 뜹니다. Load Gradle Project
를 클릭해 줍니다.
Test
Converting이 성공적으로 이루어 졌는지 Test를 작성해서 확인해 봅니다.
위와 같이 No tests found for given includes
라는 오류가 나옵니다.
stackoverflow에서 발췌한 글입니다. 변환 시 test 환경은 따로 고려하지 않는다는군요. 직접 추가해 줍니다.
test {
useJUnitPlatform()
}
테스트가 성공적으로 완료된 것을 확인할 수 있습니다.
build.gradle
최종적인 소스코드 입니다.
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
id 'java-library'
id 'maven-publish'
}
repositories {
mavenLocal()
maven {
url = uri('https://repo.maven.apache.org/maven2/')
}
}
dependencies {
api 'javax.validation:validation-api:2.0.1.Final'
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
}
group = 'com.tistory.eisen'
version = '1.01'
description = 'eisenUtils'
java.sourceCompatibility = JavaVersion.VERSION_1_8
publishing {
publications {
maven(MavenPublication) {
from(components.java)
}
}
}
test {
useJUnitPlatform()
}
이제 수정한 작업들을 github에 push
해서 적용시켜 봅니다.
deploy
maven -> gradle로 변경한 기념으로 버전을 1.0.1로 수정해서 배포해 봅니다.
jitpack을 이용한 배포 방법은 JitPack을 활용하여 라이브러리 생성하기(maven, gradle) 글에서 확인할 수 있습니다.
github
gihub repo에서 release를 새로 따줍니다.
잘 배포되었는지 확인해 봅니다. jitpack 사이트에서 제가 배포한 프로젝트의 log들을 확인할 수 있습니다.
https://jitpack.io/com/github/KrGil/eisenUtils/1.0.1/build.log
로그 보고 확인했는데 build.gradle
에 version을 1.01로 잘못 기입했었네요.
사용
이제 사용할 곳에서 수정된 버전으로 사용해 봅니다.
개인적으로 사용하는 daily 프로젝트에서 사용하고 있는데 아래와 같이 수정해 줍니다.
// implementation ('com.github.KrGil:eisenUtils:master-SNAPSHOT')
implementation ('com.github.KrGil:eisenUtils:1.0.1')
변경 후 gradle build를 새로 하면 아래와 같이 새로운 버전을 다운받는 것을 확인할 수 있습니다.
긴 글 읽느라 고생하셨습니다. maven을 사용하는 프로젝트를 gradle로 변경해 보았습니다. 처음에 잘 진행될 줄 알았는데 생각보다 오래 걸렸네요. 아직 많이 부족한 느낌이 드네요. 즐거운 코딩 되시길 바랍니다.
감사합니다.
'Tools' 카테고리의 다른 글
[IDE] intellij에서 jeus 연동하기 (0) | 2023.03.23 |
---|---|
[PuTTY] 한글깨짐현상 해결 (0) | 2023.03.23 |
[regex]정규식(regular expression)을 활용한 데이터 수정 (0) | 2023.02.10 |
[BuildTool] Ant vs Maven vs Gradle (chatGPT) (0) | 2023.01.30 |
[DBeaver] 특정 테이블에 csv 파일로 데이터 insert하기 (0) | 2023.01.04 |