{OpenGrok

クロスリファレンサです.
Tomcat で動きます.

Mac OS X 10.4.9 で実験してみました.

コンパイル

Ant の JFlex タスクが必要です.
JFlex
ここから落としてきて展開.
lib/JFlex.jar を Ant 実行時のクラスパスが通るところに置きます.

あとは,

 
$ ant webapp
で source.war というファイルができるのでこれを配備するとこれで一応動きます.

タグの作成


$ java -jar opengrok.jar -s SRC_DIR DATA_DIR
で, SRC_DIR 以下のソースを解析して DATA_DIR にタグを作ります.
ただしこのとき,Exuberant Ctags が実行できない,と言われます.
Mac の /usr/bin/ctags はそれではないっぽいので,新にインストールします.

Exuberant Ctags
ここからダウンロードしてきてインストール.
通常通り, configure; make; make install で行けます.
特に設定しなければ,/usr/local/bin/ctags にインストールされます.

ctags をインストール後,先程のコマンドに -c オプションで ctags のパスを指定すると


$ java -jar opengrok.jar -s SRC_DIR DATA_DIR -c /usr/local/bin/ctags
タグが作成されます.

Web アプリ側の設定

web.xml の DATA_ROOT と SRC_ROOT の値をディレクトリを絶対パスで書きます.

以上で動きます.

動作

20070410-opengrok_enter.png
ブラウザでアクセスするとこんな感じ.
20070410-opengrok_expect.png
検索で一つも引っ掛からない場合,似た感じの単語を教えてくれる.
20070410-opengrok_dir.png
File Path: で検索するとディレクトリ探索もできる.