Я анализирую плагин Maven, который я могу настроить внутри раздела configuration
plugin
:
<plugin>
...
<executions>...</executions>
<configuration>
<!-- items placed here are visible to the MOJO -->
</configuration>
</plugin>
Плагин полностью игнорирует любые элементы конфигурации для execution
, хотя:
<plugin>
...
<executions>
<execution>
<id>execution1</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<!-- items placed here are ignored -->
</configuration>
</execution>
</executions>
</plugin>
Я запускаю Maven с mvn test
. Я уверен, что выполнение выполняется, так как Maven корректно печатает его id
, но плагин не настроен - выводит предупреждения о неправильных настройках, которые отсутствуют, когда раздел <configuration>
перемещается за пределы <executions>
.
Вопрос: - это способ, которым плагин реализован, что он принимает только конфигурацию "верхнего уровня"? Я изучил его исходный код, и мне показалось, что он Maven, который вызывает сеттеры в классе MOJO, и он прозрачен для плагина, в какой раздел включены параметры.
MOJO аннотируется с помощью:
* @component
* @goal test
* @phase test
* @execute phase="jasmine-process-test-resources"