【注意】GitHubのrawファイル用URLが変わったようです

こんにちは。Androidチームの中川@です。

作ったまま放置していた技術者ブログをそろそろ動かして行きたいと思います。

変わったこと

GitHubでMarkdownなどのファイルを閲覧する際に、元々のプレーンテキストのファイルが見たくなると、「raw」というボタンにお世話になると思います。これ↓ですね。

f:id:water-cell:20140514135537p:plain

さて、これまではrawでファイルを見た場合のURLは

https://raw.github.com/android/platform_packages_apps_settings/master/res/layout/display.xml

こんな感じでした。

それがこの度、こうなりました。

https://raw.githubusercontent.com/android/platform_packages_apps_settings/master/res/layout/display.xml

何のことはないドメイン変更なのですが、これによって一部の人が困る事案が発生しました。

問題の焦点

Gradle時代のAndroidアプリの構成管理においては、GitHubMavenリポジトリとして扱う、という裏ワザじみたライブラリ管理手法が出てきています。

u1aryzの備忘録とか: githubMavenリポジトリとしてAndroidライブラリプロジェクト(aar)をデプロイして使用する
http://u1aryz.blogspot.jp/2013/06/githubmavenandroidaar.html

上記のような手法で実際にGitHubMavenリポジトリ化して配布しているものの一つが、@さんのindirect-injectorです。

実際には下記のように記述して導入していました(過去形)。

repositories {
    mavenCentral()
    maven { url 'https://raw.github.com/sys1yagi/indirect-injector/master/repository' }
}

dependencies {
    compile 'com.sys1yagi:indirect-injector:0.0.2'
}

ドメインの!!!フルパスで!!!!指定する!!!!!!

というわけで、本記事はドメイン変更の影響で起きた問題の備忘録です。

起こったこと

Gradleビルドが始まるまでに数分かかるようになった。

raw.github.comのドメインが無くなっているのに、ライブラリを請求しに行こうとして失敗することによって、時間がかかっていたようです。

ビルドが遅いなーと思ったら、 ./gradlew clean assembleDebug --info などで確認してみましょう。 Resource missing だらけの涙ぐましいログを見ることができるかもしれません。

解決策

raw.github.comと書いてあった部分をraw.githubusercontent.comに置き換えましょう。

手元の環境では5分かかっていたテストが2分になりました。もう少しチューニングしたいところですが、一番問題だったところを解決できたので万々歳です。