Asakusa Framework本体のビルド方法について。
|
|
AsakusaFWはOSSであり、ソースはGitHubで公開されている。
(Asakusaアプリケーションの開発環境(ビルド方法)はGradleになったが、)AsakusaFW本体のビルドにはMavenを使う。
AsakusaFW本体のテストを実行する為にはHadoopが必要。なので、環境(OS)はUNIXである必要がある。[2014-12-25]
(Asakusaアプリケーションの開発環境をJinrikishaで作っておくと、そこにはHadoopが入るので、その環境を使うと楽。
以前のJinrikishaではMavenもインストールされたのだが、ビルド方法がGradleになってから、Mavenは入らなくなった(苦笑))
GitHubからAsakusaFWのソースをダウンロードする方法。
AsakusaFWのブランチはいくつかあるが、masterが最新版となっているので、基本的にはmasterを使う。
$ git clone git@github.com:hishidama/asakusafw.git
$ cd asakusafw
$ git branch -a …masterであることを確認
README.mdにビルド方法についての説明が書いてあったりする。
フォーク元のリポジトリーの内容は自分の手元には自動では反映されないので、手動で反映させる必要がある。
(大昔にフォークだけした場合、AsakusaFWのソース構成がだいぶ変わっているので、最新版を取得する必要がある)
$ cd asakusafw $ git remote add upstream https://github.com/asakusafw/asakusafw $ git remote -v …「upstream」という名前のリモート先が加わっていることの確認
$ git checkout master $ git pull upstream master
$ git push origin master
AsakusaFWのソースをビルドするには、ダウンロードしてきたディレクトリー上でMavenのコマンドを実行する。
$ cd asakusafw $ mvn compile
ビルド中に依存するライブラリー(pomファイルやjarファイル)をダウンロードしたり作成したりするので、最初はちょっと時間がかかる。
AsakusaFW用のEclipseの設定(.projectや.classpath等)の生成は以下の様にして作成する。
$ cd asakusafw $ mvn eclipse:eclipse
AsakusaFW関連のプロジェクトは多いが、asakusafwの下の全プロジェクトをEclipseにインポートしておくのが無難。
AsakusaFWのテスト(JUnit)を実行するには、コンパイルと同様にMavenのコマンドを実行する。[2014-12-25]
$ cd asakusafw $ mvn test
Hadoopのインプロセスモード(スモールジョブ実行エンジンを使用?)でテストすることも出来るようだ。
$ mvn test -Dhadoop.inprocess
自分で修正したAsakusaFWを実際に動かしてみるには、以下の様にする。[2014-12-25]
$ cd asakusafw $ mvn install -DskipTests
$ head -8 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Asakusa Framework Aggregator POM</name>
<groupId>com.asakusafw</groupId>
<artifactId>asakusa-root-project</artifactId>
<version>0.7-SNAPSHOT</version> ←これ
<packaging>pom</packaging>
$ cd Asakusaアプリケーション $ vi build.gradle
// Mavenのローカルリポジトリーを見に行く設定を追加 repositories { mavenLocal() }
asakusafw { // バージョンを、AsakusaFWのpom.xmlに書かれていたものに変更 asakusafwVersion '0.7-SNAPSHOT'