【问题标题】:How to count files and lines in a project using Ant?如何使用 Ant 计算项目中的文件和行数?
【发布时间】:2012-03-20 23:06:30
【问题描述】:

我想在本地项目中使用 Ant 快速生成以下指标:

  • 计算所有文件中的总行数
  • 每种文件类型的总行数

例子:

总共 1337 个文件和 44 个文件夹(658462 行):

  • xxx .png 文件(0 行)
  • xxx .jpg 文件(0 行)
  • xxx .txt 文件(xxxx 行)
  • xxx .js 文件(xxx 行)

等等。

这可能吗?

【问题讨论】:

    标签: ant metrics


    【解决方案1】:

    调用CLOC的目标怎么样?

    如果您使用的是 Unix 系统,则如下所示:

     <target name="run-cloc">
       <exec dir="." executable="perl">
         <arg value="${cloc.path}"/>
          <arg value="${src.dir}"/>
       </exec>
     </target>
    

    cloc.path 是 CLOC Perl 脚本的完整路径。

    如果您使用的是 Windows,则目标更改为使用预构建的 exe(因此cloc.path 是 CLOC exe 的完整路径):

     <target name="run-cloc">
       <exec dir="." executable="${cloc.path}">
         <arg value="${src.dir}"/>
       </exec>
     </target>
    

    【讨论】:

    • 我已经修改了答案以包含一个示例
    • 谢谢,我会尽快尝试并在这里报告结果。
    • @adnan-doric,你有机会尝试一下吗?
    【解决方案2】:

    如果您有一个混合的 Unix/Windows 环境(例如 Jenkins),以下将起作用:

    <target name="cloc" description="Generate code metrics.">
    
        <exec searchpath="true" executable="cloc">
            <arg value="--by-file" />
            <arg value="--xml" />
            <arg value="--out=${cloc.report.dir}/cloc.xml" />
            <arg value="${src.dir}" />
        </exec>
    
    </target>
    

    在 Windows 上,重命名可执行文件(例如,cloc-1.64.exe 到 cloc.exe)并将位置添加到您的 Windows PATH 变量(例如,C:\Program Files (x86)\cloc\)。

    在 Unix 上,cloc 通常安装到 /usr/bin,它已经在路径中。

    只要您可以在两个环境中使用“cloc”调用命令,上述 Ant 目标将在两个平台上运行而无需修改。

    【讨论】:

      猜你喜欢
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 2011-02-07
      • 2011-10-15
      • 2016-07-18
      相关资源
      最近更新 更多