OpenAMをソースからビルドする。
OpenAMとは
Wikipediaによれば、
「OpenAMは、オープンソースのアクセス管理、エンタイトルメント、フェデレーション·サーバーのプラットフォームである。」
とのこと。
よくわかりにくいですが、簡単に言うとWebアプリでシングルサインオンを実現するためのサーバです。
OpenAMの情報は以下のサイトが詳しいです。
http://openstandia.jp/oss_info/openam/
0. 前提条件
Java 8u40 64bit
Maven 3.3.1
Subversion 1.7.19
がインストールされていること。
今回OSは、MacOS 10.10を使用しました。
※今回MacにインストールされていたSubversion 1.7系を使用しましたが、
1.8系がインストールされている場合、pom.xmlに1.8用のsvnkitを指定しないとビルドエラーになるかもしれません。
Linuxでビルドしたところそのようになりました。
https://code.google.com/p/maven-svn-revision-number-plugin/issues/detail?id=18
1. ソースコードのダウンロード
svn checkout時にアカウントが求められるようですので、作成しておきます。(無料です)
https://backstage.forgerock.com/#!/account/registe
続いてソースのチェックアウト
http://wikis.forgerock.org/confluence/display/openam/Guide+to+OpenAM+Subversion
こちらにtrunkをチェックアウトする手順が書かれていますが、
trunkは、随時修正が入って変わってしまいそうな気がするので、今回は12.0.0-1のタグを使用します。
以下のコマンドにてチェックアウトできます。
svn checkout https://svn.forgerock.org/openam/tags/12.0.0-1 openam-12.0.0-1
2. ビルド
http://wikis.forgerock.org/confluence/display/openam/Build+OpenAM+from+Source
こちらに記載のある通り、チェックアウトしたディレクトリの直下にあるopenamディレクトリに移動したのち以下のコマンドでビルドできるようです。
mvn -DskipTests=true clean install
(テストは通らないようなのでスキップさせる必要があります)
[INFO] Installing /Users/user1/repo/openam-12.0.0-1/openam/openam-sts/openam-soap-sts/target/openam-soap-sts-12.0.0-1.war to /Users/user1/.m2/repository/org/forgerock/openam/openam-soap-sts/12.0.0-1/openam-soap-sts-12.0.0-1.war
[INFO] OpenAM SOAP STS ................................... SUCCESS [21.434s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15:41.487s
[INFO] Finished at: Sun Apr 05 19:25:19 JST 2015
[INFO] Final Memory: 263M/1597M
[INFO] ------------------------------------------------------------------------
上記のログに出ているように
/Users/user1/.m2/repository/org/forgerock/openam/openam-soap-sts/12.0.0-1/openam-soap-sts-12.0.0-1.war
にwarファイルがインストールされました。