maven artifactsのupload/downloadサーバは簡単につくれる

Androidのエコシステムをなんとかしないといけないとの思いから、maven repository serverを作り始めた。

https://github.com/android-frontier/tiny-maven-repository

要は、特定のパスにPUT(bodyはjarなどのbinaryがそのまま渡る)でアップロードし、GETでPUTしたファイルを配信する仕組みだけがあれば最低限の機能としては十分だ。上のサーバはアップロードしたファイルの maven-metadata.xml を読んでgradleのdependencies宣言を生成するなど、多少の便利機能をつけてある。

今後の予定としては、アップロードをgithubアカウントでできるようにしたり、aarの場合は要求するAndroidのバージョンや依存ライブラリを表示したりなどしたい。また、いまはRailsで実装しているが、Androidとの親和性を考えてJavaで実装しなおそうと思っている。