【问题标题】:Adding templated arguments to a command in bash将模板化参数添加到 bash 中的命令
【发布时间】:2021-01-20 16:18:29
【问题描述】:

我正在建立一个具有多个扩展的新项目。我的目标是跟踪所有扩展的代码覆盖率。扩展位于目录扩展的子目录中,并具有多个源文件夹。我的项目中的扩展数量不是最终的。所以我肯定会添加一个或多个。考虑这样的结构:

  • 扩展
    • 分机 A
      • 源代码
      • testsrc
      • 网络
        • 源代码
        • testsrc
    • 分机 B
      • ...

所有扩展都遵循相同的结构。我正在使用此处描述的 coverage-jdk11 作业: https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html#java-and-kotlin-examples

现在而不是

python /opt/cover2cover.py target/site/jacoco/jacoco.xml 
          src/main/java 
          > target/site/cobertura.xml

我需要添加多个 src 目录,这是支持的。所以我现在的版本是这样的:

python /opt/cover2cover.py jacoco.xml
          extensions/extensionA/src
          extensions/extensionA/testsrc
          extensions/extensionA/web/src
          extensions/extensionA/web/testsrc
          > cobertura.xml

但是这个显然只支持extensionA。我的想法是遍历扩展目录的子目录并为每个子目录创建多个参数。但我不知道如何在 shell 中做到这一点。

【问题讨论】:

    标签: shell gitlab-ci


    【解决方案1】:

    最后我得到了它使用以下命令:

    find extensions -type d -maxdepth 3 -regex "^extensions/.*/\(testsrc\|src\)$" | xargs -t python /opt/cover2cover.py hybris/log/junit/jacoco.xml > hybris/log/junit/cobertura.xml
    

    【讨论】:

      猜你喜欢
      • 2014-03-14
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2015-02-14
      • 1970-01-01
      相关资源
      最近更新 更多