2011-10-18 26 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插件,它可以更好地適用於你的用例。 –