OpenGrokをローカルで動かしてソースコードを読むために
ソースコードを追っかけるときに大変お世話になっているhttp://nxr.netbsd.orgですが、ここで使われているのはOpenGrokというツールです。
手元で動くとうれしいなぁということでpkgsrcを探すとdevel/opengrokがありました。
ここではNetBSDのsrc, xsrcを対象にOpenGrokをWebブラウザで使えるところまでの記録をしておきたいと思います。
まず、devel/opengrok, www/apache-tomcat7をpkgsrcからインストールします。
OpenJDKのインストールに結構時間がかかりました。
次に、NetBSDのソースを用意します。/export/s/HEADに置くことにしました。
ここでcvs -d /cvsroot/NetBSD srcなどとしてsrcやxsrcをチェックアウトしておきます。
/usr/pkg/share/opengrokに移動して、run.shに次のようなパッチをあてます。
次に、source.warを/usr/pkg/share/tomcat/webappsにコピーします。このsource.warはconfiguration.xmlが/var/opengrok/etcにあることを期待しているので、生成されたconfuguration.xmlを/var/opengrok/etcに置きます。ディレクトリは自分で作ってあげないといけません。
次に/usr/pkg/share/tomcat/bin/startup.shを実行してTomcatを起動します。これで準備完了です。
Webブラウザでhttp://localhost:8080/sourceにアクセスすればhttp://nxr.netbsd.orgとほぼ同じことが手元のマシンで可能になります。やった!
手元で動くとうれしいなぁということでpkgsrcを探すとdevel/opengrokがありました。
ここではNetBSDのsrc, xsrcを対象にOpenGrokをWebブラウザで使えるところまでの記録をしておきたいと思います。
まず、devel/opengrok, www/apache-tomcat7をpkgsrcからインストールします。
OpenJDKのインストールに結構時間がかかりました。
次に、NetBSDのソースを用意します。/export/s/HEADに置くことにしました。
ここでcvs -d /cvsroot/NetBSD srcなどとしてsrcやxsrcをチェックアウトしておきます。
/usr/pkg/share/opengrokに移動して、run.shに次のようなパッチをあてます。
--- run.sh.orig 2012-04-04 00:38:41.000000000 +0000 +++ run.sh 2012-04-05 11:18:37.000000000 +0000 @@ -3,7 +3,7 @@ PROGDIR=/usr/pkg/share/opengrok # REQUIRED The root of your source tree -SRC_ROOT=/your/src/tree/ +SRC_ROOT=/export/s/HEAD # REQUIRED The directory where the data files like # Lucene index and hypertext cross-references are stored @@ -18,13 +18,14 @@ EXUB_CTAGS=/usr/pkg/bin/exctags # If you need to set properties (Ex. override the mercurial binary) -#PROPERTIES=-Dorg.opensolaris.opengrok.history.Mercurial=/home/trond/bin/hg +PROPERTIES=-Dorg.opensolaris.opengrok.history.cvs=/usr/bin/cvs # Uncomment the following line if your source contains Mercurial repositories. # SCAN_FOR_REPOS="-S" +SCAN_FOR_REPOS="-S -H -v -r on -W ./configuration.xml" # You might want to add more available memory, and perhaps use a server jvm? -#JAVA_OPTS="-server -Xmx1024m" +JAVA_OPTS="-server -Xmx1024m" LOGGER="-D/usr/pkg/java/openjdk7/bin/java.util.logging.config.file=conf/logging.properties"ポイントはSCAN_FOR_REPORSに与えた引数ですかね。あ、あとJAVA_OPTSはどっちでもいいのかなと思っていたら、今回のような大きなソースを食わせる時にはこのオプションをつけておかないと解析が全然終わらないことがわかったので有効にしています。
次に、source.warを/usr/pkg/share/tomcat/webappsにコピーします。このsource.warはconfiguration.xmlが/var/opengrok/etcにあることを期待しているので、生成されたconfuguration.xmlを/var/opengrok/etcに置きます。ディレクトリは自分で作ってあげないといけません。
次に/usr/pkg/share/tomcat/bin/startup.shを実行してTomcatを起動します。これで準備完了です。
Webブラウザでhttp://localhost:8080/sourceにアクセスすればhttp://nxr.netbsd.orgとほぼ同じことが手元のマシンで可能になります。やった!
コメント(0件)
- TB-URL http://www.tokuda.net/diary/adiary.cgi/0784/tb/