【问题标题】:How to ignore directories in OpenGrok index?如何忽略 OpenGrok 索引中的目录?
【发布时间】:2015-03-11 22:56:44
【问题描述】:

我正在尝试设置 OpenGrok 以搜索几 GB 的代码,主要是 Java 和 Python 项目。我使用opengrok-0.12.1/bin/OpenGrok index $SRC_ROOT 来构建索引。我可以看到它索引了我不需要的 Java 的“目标”和 Python 的“.tox”目录。

我在网上搜索,在很多论坛都发现了同样的问题,答案是使用-i。我曾尝试将此选项与 OpenGrok 包装脚本和 opengrok.jar 一起使用,但我得到的只是帮助消息(因为命令行选项显然是错误的)。

你能给我一个示例命令来构建忽略某些目录的索引吗?

【问题讨论】:

    标签: opengrok


    【解决方案1】:

    解决方案是使用 -i 标志。最好的方法是创建一个 .conf 文件。例如,我将以下文件定义为opengrok.conf

    OPENGROK_APP_SERVER=Tomcat
    OPENGROK_TOMCAT_BASE=/usr/local/Cellar/tomcat/8.0.21/libexec
    OPENGROK_SCAN_DEPTH=4
    OPENGROK_VERBOSE=yes
    OPENGROK_PROGRESS=yes
    IGNORE_PATTERNS="-i f:foo.txt -i *.bar -i d:target -i d:.tox"
    

    并使用以下命令运行索引: OPENGROK_CONFIGURATION=opengrok.conf ./OpenGrok index $SRC_ROOT

    它忽略对文件foo.txt、与模式*.bar 匹配的所有文件以及名为target.tox 的目录中的所有文件的索引。

    编辑学分:mrenaudpcas

    【讨论】:

    • 目录必须以 d: 为前缀
    • 感谢您的建议。我没有足够的积分来接受您的修改,所以我按照您的指示自行更新并记给您。
    • IGNORE_PATTERNS="-i f:foo.txt -i *.bar -d:target -i d:.tox" 中的轻微错字应改为: IGNORE_PATTERNS="-i f:foo.txt -i * .bar -i d:target -i d:.tox"
    • 谢谢你,@PCas。修好了。
    【解决方案2】:

    请注意,https://github.com/oracle/opengrok/pull/1841 将 IGNORE_PATTERNS 重命名为 OPENGROK_IGNORE_PATTERNS(2017 年 10 月)。

    【讨论】:

      【解决方案3】:

      https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok

      java -jar opengrok-1.3.16/lib/opengrok.jar --help
      
        -i, --ignore pattern
              Ignore matching files (prefixed with 'f:' or no prefix) or directories
              (prefixed with 'd:'). Pattern supports wildcards (example: -i '*.so'
              -i d:'test*'). Option may be repeated.
      

      使用新的 opengrok-tools,它看起来像

      opengrok-indexer                                                           \
          --java_opts=-Djava.util.logging.config.file=$(OPENGROK_BASE)/etc/logging.properties \
          --jar $(OPENGROK_DIST)/lib/opengrok.jar --                                          \
          --ctags /usr/local/bin/ctags                                                        \
          --source $(PWD)                                                                     \
              --dataRoot $(OPENGROK_BASE)/data                                                    \
              --progress                                                                          \
              --history                                                                           \
              --assignTags                                                                        \
          --writeConfig $(OPENGROK_BASE)/etc/configuration.xml                                \
              --analyzer .sc:ScalaAnalyzer                                                        \
              --ignore 'd:zold'                                                                   \
              --ignore 'd:opengrok'                                                               \
              --ignore 'd:tmp'                                                                    \
              --ignore 'd:.venv'                                                                  \
              --ignore 'd:.ipynb_checkpoints'                                                     \
              --ignore 'd:.metals'                                                                \
          # END
      
      

      【讨论】:

        猜你喜欢
        • 2011-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        相关资源
        最近更新 更多