【发布时间】:2010-09-19 05:34:40
【问题描述】:
我正在考虑运行此自定义目标以了解有关我的项目构建状态的更多信息 - 老爷车 -j依赖 - cvs tagdiff 报告 - NoUnit 的自定义任务 - 生成 UML 图。 ESS-模型
你有什么看法?
【问题讨论】:
标签: ant build-process cvs report
我正在考虑运行此自定义目标以了解有关我的项目构建状态的更多信息 - 老爷车 -j依赖 - cvs tagdiff 报告 - NoUnit 的自定义任务 - 生成 UML 图。 ESS-模型
你有什么看法?
【问题讨论】:
标签: ant build-process cvs report
我认为这是一个好主意并自己使用它。这样我就永远不会忘记运行它。
我还将报告保留了相当长的时间,并最终创建了一个“进度”电子表格。
在您的主要 ant 任务中 - 调用另一个任务来做“任何事情”
和 JDepend.xml ...
<target name="statsAll">
<!-- master file that describes where everything is -->
<property file="./ant/ant-global.properties" prefix="ant-global" />
<tstamp>
<format property="gen.time" pattern="yyyyMMdd_hh"/>
</tstamp>
<echo message="LOG:./ant/logs/jdepend.${version.FILETAG}.${gen.time}.rpt"/>
<!-- generate stats to see if we're improving -->
<jdepend
outputfile="./ant/logs/jdepend.${version.FILETAG}.${gen.time}.rpt" >
<exclude name="java.*"/>
<exclude name="javax.*"/>
<classespath>
<pathelement location="./jar" />
</classespath>
<classpath location="./jar" />
</jdepend>
</target>
<target name="doJDepend" depends="getVersion,statsAll">
<echo message="FTP'ing report"/>
<ftp verbose="yes" passive="yes" depends="yes"
remotedir="/videojet/metrics" server="xxxxx"
userid="xxxx" password="xxxxx"
binary="no"
systemTypeKey="UNIX">
<fileset dir="./ant/logs/" casesensitive="no">
<include name="**/jdepend.${version.FILETAG}*.rpt"/>
<exclude name="**/*.txt"/>
</fileset>
</ftp>
</target>
【讨论】:
我支持“好主意”部分,尽管对于规模合理的项目,您可能希望将其作为自动化构建的一部分,例如 CI 服务器之一(Bamboo、Contiuum)。
您还可以考虑使用代码覆盖率工具来查看测试覆盖率的进展情况。
这将确保报告定期运行,可以为您提供发布报告的地方,并且不会减慢开发人员的快速周转开发周期。
【讨论】:
我还认为一些关于您的项目的报告是个好主意。我的 ant-build-script (Antiplate) 模板项目目前有以下报告:Junitreport、emma-report、PMD、CPD 和 Checkstyle。我正在考虑包含一个 JDepend 报告。
在工作中,我们使用这些模板并将 Hudson 用作连续集成系统。 Hudson 为这些报告创建了精美的图表,以及衡量指标如何随着构建而变化。
【讨论】: