2011-10-18 29 views
0

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

谢谢你在前进, 安德烈

回答

0

我已经找到了解决方案,用于哈德森应用的JSLint。代替JavaScript Lint的是jslint4java,它以XML格式报告。 这里是一步一步的指示:

  1. 下载jslint4java
  2. 准备的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. 应用Ant脚本在哈德森作业并在'Report Violations'中选择Jslint输出文件名(jslint.xml)

积分:Here is useful post我在这个主题上找到。

+0

而不是调用jslint4java作为一个可执行你会发现[Ant任务(HTTP://docs.jslint4java。 googlecode.com/git/2.0.1/ant.html)更方便。 –

0

如果任何人的兴趣,这里是一个Maven POM片断,我们用它来运行的JSLint:

<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> 
+0

你应该真的升级到更新的jslint4java。 v2.0.0附带了一个maven插件,它可以更好地适用于你的用例。 –