반응형

 프로젝트 내부적으로 사용할 라이브러리를 만들면서 배포까지 욕심이 났습니다. 제가 만든 라이브러리도 implementation해서 사용할 수 있다면 좋을 것 같은데.. 라는 생각을 하면서 하나씩 해봤습니다.

 

 먼저 제가 배포한 라이브러리는 아래와 같은 배경에서 개발되었습니다.

 - gradle init으로 생성한 프로젝트입니다.

 - intellij idea를 통해 개발했습니다.

 - pure java kotlin으로 안드로이드 의존성을 참조하고 있지 않았습니다.

 

 안드로이드에 의존성을 갖고 있는 라이브러리 배포와 관련된 글은 꽤 찾아볼 수 있었는데, pure java kotlin 라이브러리 배포는 찾아보기 어려워서 더 글을 작성해야겠다고 생각했습니다.

 

1. 모듈(라이브러리 모듈) build gradle 파일에 id 'maven-publish'를 추가해줍니다.

plugins {
    ...
    id 'maven-publish' // <- 추가
}

2. 모듈(라이브러리 모듈) build.gradle 파일 하단에 publishing { } 블록을 추가해줍니다. 아래 publishing 내부에 있는 코드 전부 추가해주어야 합니다.

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

            groupId = 'com.github.WonJoong'
            artifactId = 'kodi'
            version = '0.2.1'
        }
    }
}

 이 부분에서 삽질을 많이 했는데, 안드로이드 의존성을 갖고 있는 라이브러리에서는 components.java가 아닌 components.release로 해도 되는 것 같았습니다. 하지만 pure java kotlin에서는 이 부분에서 계속 찾을 수 없다는 오류가 발생했고, 위와 같이 java로 하여 해결해주었습니다. 

3. 프로젝트를 github에 올리고, github으로 이동해 Release Tag를 만들어줍니다. 이 때 프로젝트는 배포해야 하므로 public이여야 합니다. 

4. 마지막으로 Jitpack.io에 등록합니다. https://jitpack.io/ 사이트로 이동해 아래 창에 본인 레포지토리 url을 추가합니다.

5. url을 추가하셨으면 Look up 버튼을 누르고 아래와 같은 화면을 확인하고 Get it을 클릭합니다.

0.1.0~0.2.0은 제가 기존에 미리 해본 것이고, 처음 하신다면 위 사진의 0.2.1 버전과 같이 Get it 버튼의 색이 하얀색일 것입니다.

6. 여기까지 배포는 완료되었고 사용하고자 하는 안드로이드 프로젝트에서 maven jitpack 추가하고 모듈 dependencies에서 implementation으로 추가하여 사용하시면 됩니다.

 

참 쉽죠?

 

저도 공부하면서 작성한 글이라 이번 글에서는 조금 자신감이 부족하네요. 혹시 틀린 부분이나 궁금한 점이 있으시다면 댓글로 남겨주세요~

감사합니다.

반응형

+ Recent posts