【问题标题】:JavaScript Slint - report XML for HudsonJavaScript Slint - 为 Hudson 报告 XML
【发布时间】:2011-12-09 22:08:41
【问题描述】:

我正在使用JavaScript Lint 来检查 JavaScript 源代码。在命令窗口中显示结果的递归分析工作正常,但我想将 JavaScript Lint 结果集成到 Hudson(从批处理文件运行 JavaScript Lint)。 如何获取保存到 XML 的 JavaScript Lint 日志? JavaScript Lint 有输出格式配置,但是是自定义错误信息的格式。

提前谢谢你, 安德烈

【问题讨论】:

    标签: javascript hudson jenkins jslint jslint4java


    【解决方案1】:

    如果有人感兴趣,这里有一个我们用来运行 JSlint 的 Maven POM sn-p:

      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>jslint</id>
            <phase>test</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <taskdef name="jslint" classname="com.googlecode.jslint4java.ant.JSLintTask" classpathref="maven.plugin.classpath" />
                <jslint encoding="UTF-8" options="indent=4,evil,laxbreak">
                  <formatter type="plain" />
                  <fileset dir="${basedir}/src/main/javascript" includes="**/*.js" />
                </jslint>
              </tasks>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>com.googlecode.jslint4java</groupId>
            <artifactId>jslint4java-ant</artifactId>
            <version>1.3.3</version>
          </dependency>
        </dependencies>
      </plugin>
    

    【讨论】:

    • 你真的应该升级到更新的 jslint4java。 v2.0.0 附带一个 maven 插件,它应该更适合您的用例。
    【解决方案2】:

    我找到了在 Hudson 应用 Jslint 的解决方案。 jslint4java 以 XML 格式报告,而不是 JavaScript Lint。 以下是分步说明:

    1. 下载jslint4java
    2. Prepare Ant 脚本,递归地准备项目中所有 JS 文件的列表,例如:

      <project name="JSlint" default="jslint" basedir=".">
      <description>
          Verify JS files
      </description>
      <target name="jslint" description="Run the JSLint tool on JS files">
      <fileset dir="ProjectForVerification/js" id="jsfiles.raw">
      <include name="*.js" />
      <exclude name="*.min.js" />
      </fileset>
      <pathconvert pathsep=" " property="jsfiles.clean" refid="jsfiles.raw" />
      <exec executable="java" output="jslint.xml">
      <arg line="-jar jslint4java.jar --report xml ${jsfiles.clean}" />
      </exec>
      </target>
      </project>
      
    3. 在 Hudson 中为作业应用 Ant 脚本并在“报告违规”中选择 Jslint 输出文件名 (jslint.xml)

    致谢:Here is useful post 我在这个主题上找到的。

    【讨论】:

    • 比起将 jslint4java 作为可执行文件来调用,你会发现ant task 更方便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2011-11-23
    • 2012-08-01
    • 2011-04-16
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多