JavaScript Slint - отчет XML для Гудзона
Я использую JavaScript Lint для проверки исходного кода JavaScript. Он отлично работает с рекурсивным анализом, показывающим результаты в окне команд, но я хотел бы интегрировать результаты JavaScript Lint в Hudson (запуск JavaScript Lint из пакетного файла). Как я могу получить журнал JavaScript Lint, сохраненный в XML? В JavaScript Lint есть конфигурация выходного формата, но они настраивают формат сообщения об ошибке.
Заранее спасибо, Андрей
2 ответа
Я нашел решение для применения Jslint в Гудзоне. Вместо JavaScript Lint есть jslint4java, который сообщает в формате XML. Вот пошаговые инструкции:
- Скачать jslint4java
Подготовьте скрипт 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>
Примените Ant-сценарий в Hudson для задания и выберите имя выходного файла Jslint (jslint.xml) в "Сообщить о нарушениях"
Кредиты: Вот полезный пост, который я нашел на эту тему.
Если кому-то интересно, вот фрагмент кода 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>