Работает ли CodeNarc с трейтами Groovy?

У меня есть проект Gradle с исходниками Groovy, и я использую CodeNarc для проверки качества кода.

В первый раз я хотел использовать Groovy trait, и кажется, что даже пустой приводит к серьезному сбою CodeNarc:

Ошибка [org.codenarc.rule.formatting.BracesForClassRule]
при обработке исходного файла
[C:/some/path/project/src/main/groovy/AnyTrait.groovy]
java.lang.NullPointerException
на org.codenarc.util.AstUtil.findFirstNonAnnotationLine(AstUtil.java:1085)
на org.codenarc.util.AstUtil$findFirstNonAnnotationLine$39.call(неизвестный источник) ...

Где AnyTrait.groovy имеет только trait AnyTrait { } внутри (черты с большим содержанием терпят неудачу так же сильно, как и пустые).

  • Грейдл 2.3
  • Крутой 2.4.3
  • КодНарк 2.3

С Gradle 2.4 это не работает так же, просто трассировка стека скрыта. Если я отключу правило BracesForClass, оно не сработает так же, как правило SpaceAfterOpeningBrace.

Это ошибка или функция еще не реализована?

Я поднял проблему на GitHub CodeNarc


person topr    schedule 20.05.2015    source источник
comment
Я тоже видел эту проблему, но еще не пытался ее отследить - похоже на ошибку в CodeNarc. Возможно, он еще не совсем готов для Groovy 2.4. :-)   -  person cjstehno    schedule 20.05.2015
comment
Да, возможно, он еще не готов. Спасибо за информацию.   -  person topr    schedule 21.05.2015


Ответы (1)


Согласно CodeNarc GitHub, это должно быть исправлено.

person cdeszaq    schedule 15.08.2015
comment
Я считаю, что это так. Я поднял проблему в GitHub CodeNarc, и она была решена: github.com/CodeNarc/CodeNarc/issues/ 93. Не уверен, что он уже выпущен, нужно перепроверить. - person topr; 17.08.2015