opengrok搭建Android代码搜索环境

        早年曾经搭建过,最近研究android12,代码比较新,网上没有找到现成的搜索环境,干脆搭一个,没想到搭建过程挺费周折,特此纪录。

        1. 不要用太新的opengrok,用了1.7.xx版本,结果报org.apache.lucene.codecs.lucene87错误,用回1.5.10版本就没问题

<2011.11.16刷新>

能用新版本就尽量用新版本,1.7.xx版本更新android12全量索引用了4.5个小时,同样的android代码,同样的硬件,1.4.5版本用了18个小时,好几倍的效率。切换tomcat10后,lucene87错误也没有了。

        2. 要用univasal ctag版本,建议自己编译一个,几分钟的事

        3. 先用一个小点的工程全流程跑一遍,确认没有问题,再搭建android工程,毕竟建立索引的过程需要花费十几个小时

以下是详细步骤

1.下载opengrok,解压

https://github.com/oracle/opengrok/releases/download/1.5.10/opengrok-1.5.10.tar.gz

2. 下载ctags,编译,具体参考github说明,写的很详细了

https://github.com/universal-ctags/ctags

3. 安装tomcat,前提是安装好jvm

实际测试ubuntu直接用apt install,或者用下载压缩包解压的方式均可行

这一步结束后,确保打开http://localhost:8080可以看到tomcat的欢迎页

4. 拷贝source.war

cp opengrok-1.5.10/lib/source.war /var/lib/tomcat9/webapps/aosp.war

aosp.war名字随意起,最终影响打开的网页地址

这一步结束后,确保打开http://localhost:8080/aosp后,显示一个错误页,说源代码路径找不到之类的,没关系,继续往下执行

5. 用如下命令建立索引,嫌麻烦可以用写好的脚本,》》》》下载

java $JAVA_OPTS -jar /mnt/sdb/code/opengrok-1.5.10/lib/opengrok.jar -H -P -S -G -v \
 -c /usr/local/bin/ctags \
 -s ${source_root} \
 -d ${indexing_root} \
 -U http://localhost:8080/aosp \
 -W ${indexing_root}/configuration.xml \
 -m 256

其中${source_root}需要替换为实际的源代码路径,可以用软链接的方式把不同的源代码链接到此目录下,搜索的时候可以选择按子目录方式搜索不同的源代码

${indexing_root}需要替换为实际索引文件存放的路径,产生的文件会十分庞大,自己找个地方放

6. 修改代码路径

vim /var/lib/tomcat9/webapps/aosp/WEB-INF/web.xml

把如下章节中的configuration.xml路径改成建立索引目录下的configuration.xml路径(即上一步建立索引时候的参数${indexing_root}/configuration.xml)

修改前:
<param-name>CONFIGURATION</param-name>
<param-value>/etc/opengrok/configuration.xml</param-value>

修改后
<param-name>CONFIGURATION</param-name>
<param-value>/mnt/sdb/code/opengrok_data/configuration.xml</param-value>

大功告成:

enjoy!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值