Я бы хотел предоставить плагину maven пользовательский <packaging>
, обеспечивающий сложный жизненный цикл.В рамках этого жизненного цикла мне нужно запустить maven-compiler-plugin 2 раза в разные фазы с разными конфигурациями.Я хотел бы сделать эту упаковку максимально простой в использовании.Цель состоит в том, чтобы потребителю этого плагина нужно было выбрать новую упаковку и не выполнять конфигурацию выполнения плагина:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>some.other.group</groupId>
<artifactId>something-useful</artifactId>
<version>1.0.0</version>
<packaging>my-maven-plugin-jar</packaging>
...
<build>
<plugins>
<plugin>
<groupId>my.group.id</groupId>
<artifactId>my-maven-plugin</artifactId>
<version>0.0.1</version>
<extensions>true</extensions
</plugin>
</plugin>
</build>
</project>
Тогда мой пользовательский жизненный цикл связывал бы все цели, которые янеобходимо в том числе компилятор оба раза.Проблема в том, что каждый этап компиляции компилирует разные исходные коды (используя <includes> and <excludes>
в разные места назначения (используя outputDirectory), и я не могу найти какой-либо способ их настройки, не делая этого в подэлементе <executions>
pom с помощью моего плагина.можно было бы сделать это с помощью архетипа, но мне кажется, что было бы немного элегантнее сделать это с нестандартной упаковкой. Любые предложения?