sbt-android-plugin がリポジトリから取れなくなって困ったメモ

まあ、多分すぐに不要になるんだろうけどメモとして。

ScalaAndroid プログラミングをしようていう少数派の人向け情報。
2012/02/15 時点で、sbt-android-plugin が ivy のリポジトリから取得できなくなっている。


普通、Scalaandroid プログラムを作成する場合は、giter8(https://github.com/jberkel/giter8)を使って、適当なテンプレートから初めると思うんだ。

んで、sbt-android-plugin の作者たる jberkel/android-app を利用するわけさ。他にもテンプレートは github に転がってるから、好きなのを使えばいいんだけど、そこでは大抵 sbt-android-plugin が利用されていると思う(他のテンプレート使ったことないから知らんけど)

しかしそこに罠が。ちょっと前までは普通に g8 jberkel/android-app で作成したテンプレから sbt を動かせば、勝手に依存関係を解決して Hello World までは余裕で辿り着けたんだけど、今は『sbt-android-plugin 0.6.1-SNAPSHOT が見つからない』と文句を言われます。

参照しているのは http://nexus.scala-tools.org/content/repositories/snapshots で、以前scala-tools.org にあったリポジトリのミラー(?)なんだけど、503 Bad Gateway でそこにはない。

scala-tools のリポジトリhttps://oss.sonatype.org/content/repositories/snapshots の辺にミラーされているみたいなので、

resolveres += "oss sonatype" at "https://oss.sonatype.org/content/repositories/snapshots"

addSbtPlugin("org.scala-tools.sbt" % "sbt-android-plugin" % "0.6.1-SNAPSHOT")

として解決か、と思いきやここに用意されている 0.6.1-SNAPSHOT.pom に記載されている organisation とsonatype に実際に置いてあるリポジトリディレクトリ構成が違うので、やっぱり見付けられん。詰んだ。

というわけで、managed dependency で解決するのは諦めて、適当に jar ファイルをローカルに置いて解決することにした。

具体的には

  • ddmlib-r13.jar
  • proguard.jar
  • sbt-android-plugin-0.6.1-SNAPSHOT.jar

を適当にどっかから探してくるなり、自分でコンパイルするなりして用意。 /project/lib の下に置くだけ。もう /project/plugins.sbt は不要なので中身を消しておく。