OpenGrok介绍「建议收藏」
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
一、介紹 openGrok是用于代碼在線閱讀和搜索以及交叉引用的引擎使用Java語言編寫的系統(tǒng)。它幫助你檢索/索引和本地目錄樹導(dǎo)航。它可以理解各種編程語言的文件格式和各種配置管理工具。可以配合Mercurial/Git/SCCS/RCS/CVS/Subversion/Teamware/ClearCase/Perforce/Monotone和Bazaar。
二、安裝環(huán)境 1. 最新的JDK 2. Servlet容器, 如Tomcat 8.x 3. Ctags 4. 代碼版本管理工具 5. 如果自己編譯,需要Ant/JFlex/Netbeans
三、使用 openGrok通常在servlet容器中運行(Tomcat)。 SRC_ROOT環(huán)境變量的值,是你工程代碼的根目錄。openGrok分析代碼樹并構(gòu)建快速檢索的索引,同時會解析代碼在配置庫中的不同版本的歷史信息。解析過程中生成的數(shù)據(jù)會統(tǒng)一放在環(huán)境變量DATA_ROOT指定的目錄中。
3.1 項目 OpenGrok中有項目的概念,一個項目對應(yīng)SRC_ROOT下的一個目錄,這個目錄中文件是從配置庫中檢出的代碼文件的工作區(qū)。 有了項目的概念一個OpenGrok應(yīng)用可以處理多個項目,這樣就不需要部署多個openGrok環(huán)境。一個應(yīng)用可以處理多個代碼配置庫或項目。opengrok還可以處理項目或多個倉庫的代碼同步更新的腳本。 一個好的建議是為SRC_ROOT下的代碼目錄名稱加上版本和分支的信息。如name-version-branch 實例: SRC_ROOT目錄下可以有 openssh-head openssh-0.9.8-stable openssh-1.0.0-stable
每個目錄都是從代碼庫中檢出的工作區(qū)。在OpenGrok都被作為一個項目處理。
四、安裝 4.1 Solaris平臺使用*.p5p文件 4.1.0 安裝 執(zhí)行命令#pkg install –no-refresh -g /path/to/file/<package_name>.p5p opengrok 4.1.1更新 你可以通過*.p5p文件更新openGrop軟件,更新的命令是 #pkg updatge –no-refresh -g /path/to/file/<package_name>.p5p ‘pgk://<publisher>/*’
五、配置 5.1 配置工程源碼 在進行配置之前,首先需要從代碼配置庫中檢出代碼文件,啟動opengrok應(yīng)用。 在SRC_ROOT指定的目錄下檢出工程代碼。openGrok不會自動更新檢出的工程代碼,需要你自己執(zhí)行更新腳本。 如果是非分布式的配置管理工具(Subversion,CVS)可以不檢出代碼通過遠程的方法來進行(不推薦使用此方式)。 如果要解析配置庫的歷史,需要安裝配置管理工具,并給opengrok指定執(zhí)行文件的所在的具體路徑。 注意: opengrok 不處理連接文件。 如果你要忽略工程代碼中的特定的目錄及其子目錄,可以在根目錄中創(chuàng)建.opengrok_skip_history文件,將要忽略的目錄寫入其中。
5.2 使用opengrok shell腳本創(chuàng)建索引 在Linux系統(tǒng)用openGrok提供shell腳本來處理不同的任務(wù),這些已在Solaris和其他Linux發(fā)行版本中驗證過了。 5.2.1 應(yīng)用部署 可以在其他用戶下部署openGrok應(yīng)用 #pfexec su – webservd $cd /usr/opengrok/bin $ ./OpenGrok deploy openGrok將在此目錄下通過source.war進行部署。 5.2.2 DATA_ROOT目錄配置 在openGrok生成索引的過程中會生成OpenGrok XML配置文件 configuration.xml并且會更新web應(yīng)用。生成索引會花費很長時間,在這之后其可以自動更新。 第一次更新 $cd /usr/opengrok/bin SRC_ROOT默認是/var/opengrok/src $./OpenGrok index 否則使用 $./OpenGrok index <absolute_path_to_your_SRC_ROOT> 上面的命令將最新的索引信息更新如configurations.xml文件中。
openGrok定制化腳本,新增環(huán)境變量OPENGROK_INSTANCE_BASE默認是/var/opengrok如果opengrok的數(shù)據(jù)目錄是/tank/opengrok 代碼目錄是/tank/source
$OPENGROK_VERBOSE=true OPENGROK_INSTANCE_BASE=/tank/opengrok ./OpenGrok index /tank/source
修改默認的配置文件
$ln -s /tank/opengrok/etc/configuration.xml /var/opengrok/etc/configuration.xml
更多的定制化腳本需要使用OPENGROK_CONFIGURATION這個環(huán)境變量。
5.2.3 局部索引更新
5.4 使用命令行更新索引 5.4.1 更新DATA_ROOT目錄 opengrok有一些適合定期自動執(zhí)行的腳本。opengrok.jar文件是可以直接執(zhí)行的。 $java -jar opengrok.jar -s $SRC_ROOT -d $DATA_ROOT
5.4.2 部署和配置source.war 在source.war的web.xml文件中有如下參數(shù)可以修改 HEADER: HTML格式的文件,用于自定義歡迎頁面和logo SRC_ROOT: 本地工程代碼根目錄的絕對路徑 DATA_ROOT: 存放opengrok數(shù)據(jù)的目錄絕對路徑 5.4.3 路徑描述 5.4.4 修改tomcat的配置參數(shù) 5.4.5 自定義ctags的配置
5.5 使用Java DB 存儲歷史緩存信息
轉(zhuǎn)載于:https://my.oschina.net/hopeMan/blog/537550
總結(jié)
以上是生活随笔為你收集整理的OpenGrok介绍「建议收藏」的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于安装Maven以及环境变量的配置完整
- 下一篇: C语言中for语句的执行过程是什么?