OpenGrokのインストールをします。目的は,Lhazソースコードのブラウジングです。シンボルや関数の定義位置にクリックひとつでジャンプできたり,参照箇所をサーチできたり,たいへん便利です。ソースコードを眺めていると,ムラムラとリファクタリングしたくなってきます。
必要な物件をインストールします。
$ sudo apt-get install openjdk-7-jdk $ sudo apt-get install ant $ sudo apt-get install jflex $ sudo apt-get install ctags $ sudo apt-get install tomcat7
OpenGrok本体をビルドします。
$ wget http://java.net/projects/opengrok/downloads/download/opengrok-0.11.1-src.tar.gz $ tar zxf opengrok-0.11.1-src.tar.gz $ cd opengrok-0.11.1-src/lib $ ln -snf /usr/share/java/JFlex-1.4.3.jar JFlex.jar $ cd .. $ vi OpenGrok FindJavaHome() で /usr/lib/jvm/java-7-openjdk-amd64 を検索するようにします。 $ ant ...(略)... BUILD SUCCESSFUL Total time: 3 seconds
deployします。
$ vi OpenGrok FindApplicationServerType() と DetermineWarDirectoryTomcat() で, /var/lib/tomcat7/webapps を見に行くようにします。 $ sudo ./OpenGrok deploy
tomca7を再起動します。
$ sudo ./etc/init.d/tomcat7 restart
動作確認します。
$ curl localhost:8080/source/ < ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ...(略)...
リバースプロキシとつなぎます。
$ sudo vi /etc/apache2/sites-available/my_site (追加分のみ) <VirtualHost *:80> ServerName source.chitora.com ProxyRequests Off ProxyVia Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://127.0.0.1:8080/ </VirtualHost> $ sudo /etc/init.d/apache2 restart
閲覧用のソースを準備します。
$ sudo mkdir -p /var/opengrok/src/Lhaz $ cd /var/opengrok/src/Lhaz $ sudo git clone ssh://chitora@127.0.0.1:29418/lhaz.git (以下ごにょごにょclone)
/etc/cron.daily にインデックス作成のスクリプトを置いておしまい。
コメントを残す