Как стать автором
Обновить

Дружим GWT, Sonar + Clover

Время на прочтение 2 мин
Количество просмотров 1.6K
Любите ли вы GWT так, как люблю его я? Недавно возникла задача, повесить Sonar на проект, где используется GWT. Проблема возникла в тот момент, когда врубается Clover. Подробности этой истории под катом.

Итак, в чем соль. Clover копирует сорцы в папку target, дополняет их своим кодом и анализирует, после чего в дело вступает gwt-maven-plugin, который все это дело радостно пытается скомпилировать и мы получаем ошибку вида:
No source code is available for type ....; did you forget to inherit a required module?

И в качестве не найденного класса выступает один из классов Clover. И это значит, что мы не объявили импорт Clover в *.gwt.xml модуле. Однако неприятно. Решение было найдено относительно быстро.

В блоке properties объявляем переменную:
<properties>
...
<gwt.module>MyModule.gwt.xml</gwt.module>
...
</properties>


Тюним наш gwt-maven-plugin (я использую 2.2.0):

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<configuration>
<module>${gwt.module}</module>
</configuration>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>


Теперь в тестовых ресурсах создаем еще один модуль и называем его Empty.gwt.xml:

<module rename-to="empty">
</module>


Теперь создаем профиль для Sonar, в котором переопределяем значение модуля:

<profiles>
<profile>
<id>Sonar</id>
<properties>
<gwt.module>Empty.gwt.xml</gwt.module>
</properties>
</profile>
</profiles>


Готово, теперь этот модуль нужно включать при запуске под Sonar, делается это так -P Sonar.
Теги:
Хабы:
+4
Комментарии 0
Комментарии Комментировать

Публикации

Истории

Работа

Java разработчик
346 вакансий

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн