【发布时间】:2011-04-12 09:16:52
【问题描述】:
是否可以从命令行运行Google CodePro analytix。
我正在寻找的是从一个将文件名作为参数传递的 shell 脚本运行它,并获取在文件级别为我作为参数传入的文件名生成的所有指标。
有可能吗?以及如何?
是否有任何其他工具可以为 Java 文件提供相同的指标并从 shell 脚本执行?
【问题讨论】:
是否可以从命令行运行Google CodePro analytix。
我正在寻找的是从一个将文件名作为参数传递的 shell 脚本运行它,并获取在文件级别为我作为参数传入的文件名生成的所有指标。
有可能吗?以及如何?
是否有任何其他工具可以为 Java 文件提供相同的指标并从 shell 脚本执行?
【问题讨论】:
有一个set of codepro ant tasks 可用于审计和报告生成。
至于其他工具,还有set of ant tasks for PMD 和PMD plugin for maven。两者都可以从命令行运行。
Findbugs 类似:ant 任务的说明可以找到here,maven 插件可以找到here
编辑:在我看来,谷歌购买这个漂亮的工具只是为了让它默默无闻。似乎没有正在进行的开发,也没有开源版本。蚂蚁任务没有发布(我没有找到可用的例子)。没有 Maven 插件。我们无法将它集成到我们的构建中,并重新使用 PMD、Findbugs 和 Sonar。这是一个耻辱。
【讨论】:
Google CodePro Analytix 应该有一个 Ant 任务,它应该是命令行实用程序执行所需操作的地方。
【讨论】:
CodePro Analytix 确实有 ant 任务并且它们是功能性的。请在此处查看文档。
https://developers.google.com/java-dev-tools/codepro/doc/features/ant/headless - 即使第一行说任务已被弃用,它仍然有效。
ant 任务 codepro.audit 和 codepro.metrics 都适用于 Eclipse Juno。通过编辑 https://developers.google.com/java-dev-tools/codepro/doc/features/ant/example/headless_existing_workspace_33.zip 中的 headless.xml 和 run_headless.bat 文件,我能够在现有工作区项目上运行审计和指标任务。
我编辑了默认的 headless.xml 以使用特定的规则/指标集并以 xml 格式导出结果。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Ant Test" basedir="." default="main">
<target name="main">
<!-- the project source directory to be analyzed -->
<property name="projSrc" location="<full path to your project source folder>"/>
<!-- test codepro.audit -->
<codepro.audit auditRuleSetName="CodePro Default"
resultFile="headless_audit_out.txt">
<fileSet dir="${projSrc}"/>
<report file="audit_result.xml" format="xml">
</report>
</codepro.audit>
<!-- test codepro.metrics -->
<codepro.metrics metricSetName="CodePro Default"
resultFile="headless_metrics_out.txt">
<fileSet dir="${projSrc}"/>
<report file="metrics_result.xml" format="xml">
</report>
</codepro.metrics>
<echo message="It works!"/>
</target>
</project>
【讨论】:
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found. 我正在使用 galileo