Правило Checkstyle для ограничения взаимодействия между корневыми пакетами (с ImportControl?)
Как я могу создать правило Checkstyle, чтобы ограничить взаимодействие между различными корневыми пакетами?
У меня есть следующие 3 корневых пакета:
models
views
controllers
(Oнине что-то вродеcom.mycompany.myproject.models
, Они естькорневые пакеты.)
Я хотел запретить доступ сmodels
вviews
и изviews
вmodels
(и некоторые другие).
Я пытаюсь использоватьImportControl-Checker из Checkstyle:
Попробуйте 1: использовать одинimport-control.xml
, Проблема: я могу предоставить только один Root-XML-элемент (<import-control pkg="models">
) и это содержит только один пакет (но я хочу иметь более одного).Попробуйте 2: использовать несколькоimport-control.xml
, Проблема: если я импортирую более одного вcheckstyle-config.xml
, ни один из них не работает (ошибки нет, похоже, я не определил ни того, ни другого). Мое определение вimport-control.xml
:
<module name="ImportControl">
<property name="id" value="ImportControlViews"/>
<property name="file" value="${basedir}/project/import-control/views.xml"/>
</module>
<module name="ImportControl">
<property name="id" value="ImportControlModels"/>
<property name="file" value="${basedir}/project/import-control/models.xml"/>
</module>