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

Дружим GWT, Sonar + Clover

Время на прочтение2 мин
Количество просмотров1.7K
Любите ли вы 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.
Теги:
Хабы:
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Публикации

Истории

Работа

Java разработчик
321 вакансия

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн