【问题标题】:Group and counting a String in Ant在 Ant 中对字符串进行分组和计数
【发布时间】:2009-11-18 09:56:27
【问题描述】:

我有以下问题。我有 300 个 Eclipse 插件之类的东西。现在,作为 ant 脚本的一部分,我想读取所有 MANIFEST.MF 文件,然后查找执行环境字符串。

Bundle-RequiredExecutionEnvironment:J2SE-1.4

现在,这个字符串有几个可能的值。我想创建一个报告,列出每个插件的执行环境。这部分并不是真正的问题,因为我可以使用某种正则表达式来获得它。

我的问题是我还想创建某种摘要以一目了然地跟踪更改,例如:

  • JS2E-1.4:50 个插件
  • JS2E-1.5:150 个插件
  • JS2E-1.6:74 个插件

有人对我该如何解决这个问题有一些建议吗?

编辑:使用 ANT 的原因是我想将它与夜间构建脚本集成

【问题讨论】:

    标签: java eclipse ant


    【解决方案1】:

    我肯定会选择硬编码的 Ant 任务并将问题分解为两个任务:

    1. 第一个任务获取一个jar 文件并输出一个包含各种信息的plugin-info.xml 文件,例如环境
    2. 第二个任务解析所有这些 xml 文件并创建一个 XML 总结报告

    这当然会为 n 个插件生成 (n+1) 个 XML 文件,有些人会觉得这种方式太多了。

    这种方法的最终效果是,您可以非常轻松地生成详细报告或汇总报告(使用一些 XSLT 魔法。)甚至是图表。

    【讨论】:

    • 使用 MANIFEST.MF 位置和字符串获取转储并不困难。我想我将使用硬编码的 ant 任务进行分组
    【解决方案2】:

    如果我自己做,我可能会写一个 perl 脚本。

    如果必须从 Ant 完成,我会编写一个 Ant Task 来完成。

    【讨论】:

      【解决方案3】:

      我建议在 System.out 上打印每个可执行环境,然后使用“|sort| uniq -c”进行后期处理。

      【讨论】:

        【解决方案4】:

        您可以使用ant-contrib 项目中的math 任务

        我必须这样做,我可能会使用一些 shell 脚本或自定义代码

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-04
          • 2017-07-01
          相关资源
          最近更新 更多