【问题标题】:Setup checkstyle as part of java project build process将 checkstyle 设置为 java 项目构建过程的一部分
【发布时间】:2012-12-13 19:03:36
【问题描述】:

我正在努力将 checkstyle 添加到 java 项目的构建过程中。 checkstyle 的结果稍后会显示在 jenkins 上。我正在使用 java7 和 netbeans 7.2.1

对于大部分工作,我都遵循此页面上的说明:http://checkstyle.sourceforge.net/anttask.html

但是,我是 java (& jenkins) 的初学者,有些说明对我来说没有意义:

1- 文档说:“要在构建文件中使用任务,您将需要以下 taskdef 声明:”。 问题:这是要添加到 build.xml 文件中吗?还是在哪里?

2- 然后文档继续描述一组参数并提供一些示例。这些是否也要添加到 build.xml 中?还是?

3- Checkstyle 使用配置文件。我将使用标准的 sun_checks.xml。这个应该放在哪里?

如果有人可以为我指出整个过程的分步教程,我将不胜感激。 提前谢谢所有答案

我在 build.xml 中使用以下内容:

<taskdef resource="checkstyletask.properties"
     classpath="libs/checkstyle-5.6-all.jar"/>

<target name="checkstyle"
        description="Generates a report of code convention violations.">

    <checkstyle config="sun_checks.xml"
                  failureProperty="checkstyle.failure"
                  failOnViolation="false">
        <fileset dir="src" includes="**/*.java"/>
        <formatter type="xml" toFile="checkstyle-results.xml"/>
    </checkstyle>

    <style in="checkstyle-results.xml" out="checkstyle_report.html" style="checkstyle.xsl"/>

</target>

【问题讨论】:

  • 另一种方法是使用声纳。 Checkstyle 是在您的项目上自动运行的工具之一。

标签: java netbeans ant jenkins checkstyle


【解决方案1】:
  1. 是的,您必须在 build.xml 中添加它

  2. 这些属性和元素是 &lt;checkstyle&gt; ant 任务的属性和元素,由于您在第 1 点中添加了 taskdef,您可以在构建文件中使用它们。是的,这个 &lt;checkstyle&gt; 任务必须在你的 build.xml 中使用。

  3. 你可以把它放在你想要的任何地方。您只需要使用其config 属性将其路径提供给&lt;checkstyle&gt; 任务。

【讨论】:

  • 感谢 JB Nizet 的答案,当我“ant all”时,我不应该得到报告 xml 文件吗?请检查我在 build.xml 中使用的脚本的编辑问题
  • 不可能说,因为你没有展示 all 目标的作用。 ant all 并不意味着“执行所有目标”。这意味着“执行名为all(及其依赖项)的目标。
  • 对对对!再次,新手错误。我不得不将 checkstyle 添加到“所有”目标 再次感谢
【解决方案2】:

我不确定您使用的是什么构建管理。如果您使用的是Gradle,则可以使用gradle-estilo-plugin。它直接从 gradle 配置块设置您需要的整个 checkstyle 配置。

以下是您需要开始的内容:

buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'net.anshulverma.gradle:gradle-estilo-plugin:0.4.8'
  }
}

apply plugin: 'net.anshulverma.gradle.estilo'

estilo {
  source 'sun'
}

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2018-02-26
    • 2013-11-09
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2018-04-15
    相关资源
    最近更新 更多