GitHub上の Apache ManifoldCF を、eclipse でビルドするまでの手順
eclipse のバージョンは Kepler を前提とします。
追記 4/9: プロジェクトのインポートとビルドの順番を逆にして、ビルドを先にやるように修正しました。ビルドを先にやると jar へのクラスパスまで自動で通ります。
- forkする
GitHub上で fork します。
- git clone する
git clone コマンドで、自分のPC上に fork したリポジトリをクローンします。その際に、指定するURLが間違えやすいので注意です。
git clonehttps://github.com/yoshi0309/manifoldcf.git
3.ブランチを切り替える
デフォルトのままだと CONNECTORS-63 というかなり古いブランチになるので、trunc に切り替えます。
cd manifoldcf git checkout -b origin/trunk
4.ant でビルドを実行
以下の順番で、ターゲットを実行します。make-core-deps / make-deps 実行後に lib フォルダ以下に必要なライブラリもダウンロードされます。実行後に、ビルドパスに jar を設定します。
- make-core-deps
- make-deps
- build
5.eclipse にクローンしたリポジトリを読み込ませる。
ここがポイント。 Javaパースペクティブを開いて、New Project -> Java Project を選択し、Location に clone したローカルのパスを選択します。そうすると、ソースのパスが自動的に読み込まれてハッピーになれます。
ちなみに、jar などのライブラリはパスに設定されないので、あとで手動で設定します。ビルドを先にやると、jar も自動でビルドパスに入ります。
また、上記操作後、Gitパースペクティブを開くと、ちゃんとローカルのリポジトリも登録されます。ちなみに、svn の場合は、登録されませんでした。なので、コマンドで別途作業をする必要があります。
アンチパターン:Import Project
Gitパースペクティブからリポジトリを読み込んで、その後、リポジトリを右クリックして、Import project を押下したくなるのですが、これをやると何故かクラスパスなどが設定されません。svn を日常的に使っているとやりたくなるので要注意です。*1
manifoldCF の場合、多数の connector が存在し、それぞれに src/main/java と src/test/java があるので、手動でやるとかなり面倒です。上記の手順がおすすめです。