GoogleCodeからGitHubへMaven Repositoryを移行した話

http://aipo.googlecode.com/svn/repository/

にいくつかjarファイルをホストして自前リポジトリとして使用していました。

GoogleCodeのサービス終了に伴い、GitHub上へリポジトリを移植しました。

https://github.com/aipocom/mvn-repo

バージョン管理はほぼ不要でxml,jar,pomファイルのみをダウンロード、GitHubへ登録といった流れを取りました。

ダウンロードは https://hacknote.jp/archives/16351/ にある手順で行いました。

実際にGitHub上へ移した上でそのリポジトリを参照しているプロジェクトを

mvn install

してみると、

[WARNING] Could not validate integrity of download from https://raw.githubusercontent.com/XXX.pom: Checksum validation failed, no checksums available
[WARNING] Checksum validation failed, no checksums available for https://raw.githubusercontent.com/XXX.pom

といったエラーが出ました。

どうやらファイルごとにmd5,sha1用のファイルを用意する必要がありそうです。

特定ディレクトリ下のjar,pomに対してmd5,sha1ファイルをそれぞれに用意する方法は次のとおりです。

find <dir_path> \( -name \*.jar -o -name \*.pom \) -exec sh -c "md5sum {}  | cut -d ' ' -f 1 > {}.md5" \;
find <dir_path> \( -name \*.jar -o -name \*.pom \) -exec sh -c "openssl sha1 {}  | cut -d ' ' -f 2 > {}.sha1" \;

jarファイルを生成しているプロジェクトでは

http://scissorhands.jpn.org/2015/02/processing-core-maven-github-p.html

にあるような方法で合わせてチェックサム用ファイルを作るとよさそうです。

なお過去にはGitHub上のURLが

https://raw.github.com/

https://raw.githubusercontent.com/

に変わるとかあったので、そこだけ注意が必要です。

http://watercelldev.hatenablog.jp/entry/2014/05/14/150343