【发布时间】:2012-03-20 23:06:30
【问题描述】:
我想在本地项目中使用 Ant 快速生成以下指标:
- 计算所有文件中的总行数
- 每种文件类型的总行数
例子:
总共 1337 个文件和 44 个文件夹(658462 行):
- xxx .png 文件(0 行)
- xxx .jpg 文件(0 行)
- xxx .txt 文件(xxxx 行)
- xxx .js 文件(xxx 行)
等等。
这可能吗?
【问题讨论】:
我想在本地项目中使用 Ant 快速生成以下指标:
例子:
总共 1337 个文件和 44 个文件夹(658462 行):
- xxx .png 文件(0 行)
- xxx .jpg 文件(0 行)
- xxx .txt 文件(xxxx 行)
- xxx .js 文件(xxx 行)
等等。
这可能吗?
【问题讨论】:
调用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>
【讨论】:
如果您有一个混合的 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 目标将在两个平台上运行而无需修改。
【讨论】: