JitPack에 multi module Android Library 게시

5626 단어 JitPack.ioAndroid
다음 multi module 프로젝트로 구성된 Android Library는 JitPack을 통해 보낼 수 있습니다.
root
├── core // 主となる機能を格納したmodule
└── plugin  // coreに対して機能を追加するmodule

코어만 배송


우선 발송만 core

Library 측


루트 바로 아래 build.gradle에 다음 내용 추가
build.gradle
buildscript {
  ...

  dependencies {
    // gradle version毎にversionを変更する必要あり
    // https://github.com/dcendents/android-maven-gradle-plugin#note-on-releases
    classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' 
    ...
  }
}
다음에 core/build.gradle에 다음과 같은 기술을 추가합니다.
core/build.gradle
apply plugin: 'com.github.dcendents.android-maven'

group="com.github.$USERNAME.$REPO"
이push를Giithub에 보내면JitPack으로library를 보낼 수 있습니다
version은 branch명과tagcommiit 등을 지정할 수 있는데, 이번에는 push의 몸으로 branch명을 추진하고 싶어요.
이 경우 다음 릴리즈에서 릴리즈됩니다.
example-SNAPSHOT

Library 활용 측면


보낸 Library를 사용할 때는 다음과 같습니다.
app/build.gradle
repositories {
  ...
  maven { url 'https://jitpack.io' } // ※ Private repositoryで配信されている場合はauthTokenの設定も必要
}


dependencies {
   ...
   implementation 'com.github.$USERNAME:$REPO:example-SNAPSHOT@aar'
}

잡담


JitPack에서 나오는 setup을 해서 이 근처에서 빠졌어요.
이전 지식으로 "multimodule의 library는 example처럼 읽을 수 있다"는 정보를 구입com.github.$USERNAME.$REPO:$MODULE:$VERSION했기 때문에 발송 가능한 상태에서만 다음과 같은 설정을 할 수 있다.
app/build.gradle
dependencies {
   ...
   implementation 'com.github.$USERNAME.$REPO:core:example-SNAPSHOT@aar'
}
하지만 전송된 모듈이 하나밖에 없으면 JitPack은 조심할 거예요.module 이름을 사용하지 않는 path로 변경할 수 있기 때문에 이 path는 읽을 수 없습니다
multimodule의library를 하나하나setup할 때 주의하십시오

코어와 코어를 믿습니다.


다음으로 보내기plugin

Library 측


루트plugin가 설정되어 있어 변경만 가능build.gradle변경 내용은 plugin/build.gradle와 동일
plugin/build.gradle
apply plugin: 'com.github.dcendents.android-maven'

group="com.github.$USERNAME.$REPO"
이걸 Giithub에 뿌려주세요.

Library 활용 측면

core/build.gradlecore를 사용할 수 있습니다. 읽어 보겠습니다.

plugen만 이용

core 필요하지 않으면 다음과 같은 방법plugin을 사용할 수 있다.
app/build.gradle

dependencies {
   ...
   implementation 'com.github.$USERNAME.$REPO:core:example-SNAPSHOT@aar'
}

코어와 코어를 이용해서.

plugincore를 사용할 때 두 가지 설정 방법이 있다
app/build.gradle

dependencies {
   ...
   implementation 'com.github.$USERNAME.$REPO:core:example-SNAPSHOT@aar'
   implementation 'com.github.$USERNAME.$REPO:plugin:example-SNAPSHOT@aar'
}
혹은
app/build.gradle

dependencies {
   ...
   implementation 'com.github.$USERNAME:$REPO:example-SNAPSHOT@aar'
}
모듈 이름을 지정하지 않으면 리포지토리에 있는 모든 모듈이 떨어집니다. 모듈이 새로 추가되면 발송됩니다.
어떤 방법으로 읽느냐에 따라 선택할 수 있을 것 같아요.

참고 자료


https://jitpack.io/docs/ANDROID/
https://android.jlelse.eu/publish-multi-module-android-libraries-on-jitpack-339213f6224c

좋은 웹페이지 즐겨찾기