jitpack.ioではまったところまとめ

まとめ

以前から色んな箇所で取り上げられているjitpack.ioですが、ドキュメントに書いてない機能であったり、書いてあってもよくわからない機能がいくつかあったのでまとめてみました。

そもそもjitpack.ioって何か?とかどう使えばいいのか?は以下のリンクを確認して下さい。

qiita.com

以下の機能の説明をします。

  • compile指定以外
  • Multiple Module
  • SNAPSHOT version

compile指定以外

compile指定以外ももちろん問題なく動きます。

例えばよく使う、aptの場合

apt 'com.github.$USER.$REPO:$Module:$VERSION'

Multiple Module

一つのレポジトリ複数のmoduleを扱うことがあります。

その場合、jitpack.ioにアクセスし、repositoryのURLを貼ってみます。例えば、自作ライブラリでやってみます。

github.com

        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の場合

github.com

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には反映されないから気をつけてねってことです。