본문 바로가기
ETC

Jitpack 을 이용한 오픈소스라이브러리 배포하기

by 봄석 2019. 7. 8.

Jitpack 을 이용한 오픈소스라이브러리 배포하기

 

1. Module 생성 

  • File > New > New Module을 클릭합니다.
  • 나타나는 Create New Module 창에서 Android LibraryNext를 차례로 클릭합니다
  • 라이브러리에 이름을 지정하고 라이브러리의 코드에 대한 최소 SDK 버전을 선택한 후 Finish를 클릭합니다.
  • Sync Project with Gradle Files

 

2. project level build.grade 세팅

buildscript {
    ...
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        ...
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        // andorid-maven-gradle-plugin 추가 
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        // maven jitpack 추가 
    }
}

 

3. app level build.gradle 세팅

pply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    ...
    defaultConfig {
     ..
    }
    buildTypes {
      ...
    }
}

dependencies {
    ...

    implementation project(':{modulename}')
    // modulename에 자신이 만든 모듈명입력
}

 

4. 생성한 모듈  build.gradle 세팅

apply plugin: 'com.android.library'
..

android {
    ...

    defaultConfig {
      ...
    }

    buildTypes {
      ....
    }

}

dependencies {
 ....
}

apply plugin: 'com.github.dcendents.android-maven'
group='com.github.{groupname}' // {groupname} 입력 
version = '0.0.1'


repositories {
    mavenCentral()
}

 

5. README 작성

[![Release](https://jitpack.io/v/{User}/{groupname}.svg)]
(https://jitpack.io/#{User}/{groupname})
// {User} ,{groupname}입력하기


## Setup
Add the JitPack repository in your build.gradle (top level module):
```gradle
allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}
```

And add next dependencies in the build.gradle of the module:
```gradle
dependencies {
    implementation 'com.github.13mile:{moduleName}:{tag}' //{moduleName},{tag}  입력
}
```

 

6. 태그 작성, 태그 푸시

마지막으로 태그를 작성하여 푸시해주어야 합니다  (반드시 !!)

 

태그조회

git tag  //태그조회

0.0.1
0.0.2 
....

 

태그생성

태그의 종류는 2가지가 있습니다.

  • Lightweight: 특정 커밋을 가르키는 역할을 합니다.
  • Annotated: 만든 사람, 이메일, 날짜, 메시지를 저장합니다 그리고 GPG(GNU Privacy Guard)로 서명할수 있습니다. 위의 모든 정보가 필요할때만 Annotated 태그를 추천합니다.
  • Lightweight
    • git tag[tag Name] 으로 만들수 있습니다. Lightweight 태그를 만들 때에는 -a, -s, -m 옵션을 사용하지 않습니다.
# git tag v1.0.0
# git tag
v1.0.0
  •  Annotated 태그는 -a 옵션을 사용합니다
git tag -a v1.0.1 -m"Release version 1.0.1"

 

태그푸시

태그를 만들고 원격 저장소에 올려야할 필요가 있다면 브랜치를 올리는 방법과 같이 사용할수 있습니다.

 

모든 태그를 올리려면 --tags를 사용합니다.

# git push origin --tags

댓글0