Top > Ubuntu > opengrok


opengrokとは?

OpenGrokとは、ブラウザを使用してソースコード閲覧・検索できるようにするWebサーバー側のツールです。 emacs+grep+gtags等で解析していた関数の定義やその呼び出し箇所を、ブラウザ上で簡単に検索することができるようになります。 複数のプログラミング言語にも対応しているのがポイントです。


必要なパッケージ

要約

  • Java 1.8
  • GlassFish または Tomcat 8.x 以降
  • Universal ctags (aptでインストールする標準のctagsとは異なるので注意)

インストール

  • Java 1.8
    $ sudo apt install default-jdk
  • Tomcat
    universeリポジトリを追加してインストール
    $ sudo vi /etc/apt/sources.list
    $ cat /etc/apt/sources.list
    deb http://jp.archive.ubuntu.com/ubuntu bionic main
    deb http://jp.archive.ubuntu.com/ubuntu bionic-security main
    deb http://jp.archive.ubuntu.com/ubuntu bionic-updates main
    deb http://jp.archive.ubuntu.com/ubuntu bionic universe
    deb http://jp.archive.ubuntu.com/ubuntu bionic-security universe
    deb http://jp.archive.ubuntu.com/ubuntu bionic-updates universe
    $ sudo apt update
    $ sudo apt install tomcat8 tomcat8-admin
    $ sudo service start tomcat8
    ブラウザでhttp://localhost:8080を表示して動作を確認。
  • Universal Ctags
    $ add-apt-repository ppa:hnakamur/universal-ctags
    $ apt install universal-ctags
    $ update-alternatives --config ctags
  • Others
    $ sudo apt install ant jflex


OpenGrokのインストール

  • OpenGrok の Github からダウンロードし、jflexへのリンボリックを作成して /usr/local に展開
  • OpenGrokの最新版は、ココを確認
  • WebApp から参照される Config ファイルの保存先とする /etc/opengrokを作成
  • 検索対象のソースコードを配置する /var/opengrok/srcを作成
  • インデックスデータの格納先となる /var/opengrok/dataを作成
    $ wget https://github.com/oracle/opengrok/releases/download/1.2.7/opengrok-1.2.7.tar.gz
    $ tar xf opengrok-1.2.7.tar.gz
    $ cd opengrok-1.2.7/lib
    $ ln -snf /usr/share/java/jflex.jar jflex.jar
    $ cd ../..
    $ sudo cp -r opengrok-1.2.7 /usr/local/opengrok
    $ sudo mkdir -p /etc/opengrok /var/opengrok/{src,data}


OpenGrokのToolをインストール

  • pipのインストール
    $ sudo apt install python3-pip
  • Toolのインストール
    $ sudo python3 -m pip install /usr/local/opengrok/tools/opengrok-tools.tar.gz


デプロイしてひとまず起動

  • デプロイする
    $ opengrok-deploy -c /etc/opengrok/configuration.xml /usr/local/opengrok/lib/source.war /var/lib/tomcat8/webapps
  • http://localhost:8080/source にアクセスして動作を確認
    • プロジェクト、ソースコードを登録していないのでエラーとなる
opengrok-error.png


ソースコードの登録

  • 上記で作成した /var/opengrok/src 下にソースコードを登録する
  • /var/opengrok/src 直下のディレクトリ名がプロジェクト名となる
  • /var/opengrok/data 下に解析した結果が格納される
  • indexを付ける
    $ opengrok-indexer -J=-Djava.util.logging.config.file=/var/opengrok/logging.properties
    -a /usr/local/opengrok/lib/opengrok.jar --
    -c /usr/bin/ctags
    -s /var/opengrok/src -d /var/opengrok/data -H -P -S -G
    -W /etc/opengrok/configuration.xml
    -U http://localhost:8080/source


参考


添付ファイル: fileopengrok-error.png 596件 [詳細]

リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 07 Jun 2019 12:58:22 UTC (2598d)