如何使用Ant计算项目中的文件和行?

时间:2012-03-20 23:06:30

标签: ant metrics

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

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

示例:

  

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

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

等等。

这可能吗?

2 个答案:

答案 0 :(得分:0)

调用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>

答案 1 :(得分:0)

如果您有混合的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目标就可以在两个平台上运行而无需修改。