まとめ
以前から色んな箇所で取り上げられているjitpack.ioですが、ドキュメントに書いてない機能であったり、書いてあってもよくわからない機能がいくつかあったのでまとめてみました。
そもそもjitpack.ioって何か?とかどう使えばいいのか?は以下のリンクを確認して下さい。
以下の機能の説明をします。
- compile指定以外
- Multiple Module
- SNAPSHOT version
compile指定以外
compile指定以外ももちろん問題なく動きます。
例えばよく使う、aptの場合
apt 'com.github.$USER.$REPO:$Module:$VERSION'
Multiple Module
その場合、jitpack.ioにアクセスし、repositoryのURLを貼ってみます。例えば、自作ライブラリでやってみます。
allprojects { repositories { ... maven { url "https://jitpack.io" } } } dependencies { compile 'com.github.User:Repo:Tag' }
こんな感じで入れればいいよ!と言われるので、そのままやるとコケます。
Multiple Moduleなので、以下のように指定が必要になります。
compile 'com.github.$USER.$REPO:$Module:$VERSION'
これはドキュメント通りhttps://jitpack.io/docs/BUILDING/#multi-module-projectsなのですが、一つドキュメントに記載されていない事項があります。
例えば、自分がコントリビュートしている、PermissionsDispatcherの場合
compile 'com.github.shiraji.permissionsdispatcher:permissionsdispatcher:2.1.1' compile 'com.github.shiraji.permissionsdispatcher:permissionsdispatcher-processor:2.1.1'
このように指定する必要が出てきます。
つまり
compile 'com.github.$USER.$REPO.toLowerCase():$Module:$VERSION'
が正しいフォーマットです。
SNAPSHOT version
SNAPSHOTバージョンはweb上では一つしか選択できないようなUIです。
ドキュメントにもbranch-SNAPSHOT
と記載されているので、-SNAPSHOT付きのブランチを作成してもweb上では反映されません。
しかし、ブランチが存在していさえすれば利用は可能のようです。
例えば、v1.1.1-SNAPSHOT
というブランチをリモートに作成してあるとしたら、以下になります。
compile 'com.github.$USER.$REPO:$Module:v1.1.1-SNAPSHOT'
ドキュメントにも書いてあるけど、webUIには反映されないから気をつけてねってことです。