OpenGrok 源码阅读环境搭建

开发过程中,往往需要阅读源码,挑选一个合适的源码阅读方式十分重要。这里简记使用 OpenGrok搭建源码阅读环境。

背景

作为一个 Android 开发者,最方便的在线 AOSP 源码阅读环境就是 :androidxref.com 。它使用 OpenGrok 搭建而成,可以进行快速的检索,如下为 Pie 9.0.0_r3 源码查找页面:

除此之外,如下网站也是使用 OpenGrok 搭建而成:

  1. illumos,Linux - http://src.illumos.org/source
  2. libreoffice - https://opengrok.libreoffice.org

安装

由于个人喜欢将此类型的软件部署到 docker 中,这里以 docker 中安装部署为例说明。

如下具体步骤:

  1. 获取镜像,若需其他版本,可访问此处查看:

    docker pull opengrok/docker
    
  2. 设置源码目录;

    创建一个存放源码的目录,如 /home/source,使用 git clone 所需源码。

    注意使用 Git 仓库,手动创建的目录目前无法显示,但是可以进行搜索。

  3. 启动 OpenGrok ,挂载上述步骤中创建的源码目录,这里为 /home/source

    docker run -d -v /home/source:/opengrok/src  --privileged=true -p 8080:8080 opengrok/docker
    

    注意 –privileged=true 参数设置,否则挂载的目录在镜像内无法访问,导致索引失败;
    容器内部端口必须是: 8080

  4. 通过浏览器访问:http://ip:8080 进行访问,如下图:


    如果访问显示 error, 可能是源码索引未完成,可以稍后访问,或者手动进行索引:

    docker exec <container_id> /scripts/index.sh
    

    其中 container_id 为上面启动的容器 id 。

    如果以 ip:port 形式访问不方便,可以通过 nginx 配置反向代理,设置域名。

    具体的代码查找结果如下图,可以访问 code.imtianx.cn 测试:

其他工具


对于大部分人而言,使用本地软件比较多,如 ideasublimeUnserstand/ source insight等都可以,其中 Unserstand 的体验相对很好。



   转载规则(或关注公众号:imtianx)


《OpenGrok 源码阅读环境搭建》imtianx 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
 上一篇
GPG 安装与使用 GPG 安装与使用
GnuPG(GNU Privacy Guard,GPG)是一种加密软件,它是 PGP 加密软件的满足GPL协议的替代物 。用于加密、数字签章及产生非对称匙对的软件 。用于加密、签名通信内容及管理非对称密码学的密钥。ss
2019-05-29
下一篇 
底部导航-BottomNavigationView 的使用及源码分析 底部导航-BottomNavigationView 的使用及源码分析
目前市面上很多 APP 都有底部导航的功能,实现底部导航的方式也有很多种,如: ① 、使用原生控件 :TabHost 、LinearLayout /RelativeLayout、RadioButton 等; ② 、使用 Design 库
  目录