2012-04-30 2 views
7

Я пытаюсь, чтобы Checkstyle получил любой тип файла, но игнорирует все, что не является .java-файлом. Я создал фильтр, но не кажется, что работает:Есть ли способ запустить Checkstyle только в .java-файлах БЕЗ АНТ?

public class DotJavaFilter 
    extends AutomaticBean 
    implements Filter 
{ 

    public DotJavaFilter() 
     throws PatternSyntaxException 
    { 
    } 

    public boolean accept(AuditEvent aEvent) 
    { 
     final String fileName = aEvent.getFileName(); 
     return fileName.endsWith(".java"); 
    } 
} 

Я хотел бы дать сотовой каталог файлов и он обрабатывает только те .java.

+0

Пожалуйста, используйте форматирование кода для кода, ввода/вывода и структурированных документов, таких как HTML или XML. Для этого выберите образец и нажмите кнопку '{}' над формой отправки сообщений/редактирования. –

ответ

6

Вы можете запустить его из командной строки, как это:

java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src 

Если вы используете Баш, вы можете включить globstar, а затем обрабатывать только Java файлы, как это:

shopt -s globstar 
java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src/**/*.java 

Checkstyle Документация по командной строке: here.


Update: Использование фильтра подавления

Создайте файл умолчаний, который игнорировать все проверки на файлы классов. Вы можете добавлять регулярные выражения для других типов файлов, которые вам тоже не интересны.

suppressions.xml:

<suppressions> 
    <suppress checks="." files=".*\.class"/> 
</suppressions> 

Добавить фильтр подавления в чеках файл:

my_checks.xml:

<module name="SuppressionFilter"> 
    <property name="file" value="suppressions.xml"/> 
</module> 

Выполнить это:

java -jar checkstyle-5.5-all.jar -c my_checks.xml -r /path/to/src 

Документация по фильтрам подавления может быть найдена here.

+0

Нет, это не совсем так. Если вы дадите CS каталог модулей, в котором есть исходные файлы и скомпилированные файлы классов в нем ... CS найдет и сканирует .java-файлы вместе с .class-файлами. Мои пользователи не хотят, чтобы они пикали файлы, отличные от java. –

+0

КОРРЕКЦИЯ: это работает с использованием sun_checks.xml. Когда я помещаю свой собственный файл конфигурации, он поднимает все. –

+0

См. Мое обновление об использовании фильтра подавления. – dogbane