расширение mvn-finisher для Maven
От: raydac Эстония http://www.igormaznitsa.com
Дата: 30.09.19 04:53
Оценка: 6 (1)
Maven очень мощное средство разработки, но мне нередко не хватало в нем аналога своего рода try...finally, т.е. какой то фазы которая гарантированно взывается по окончании, поскольку иногда хочется заустить что то в начале билд процесса (чтонить вроде докер сервиса) и потом закрыть в конце.

На выходных появилось немного свободного времени и сделал расширение mvn-finisher-extension, которое будучи подключенным, добавляет три новых фазы:
finish, обрабатываемая при любом окончании maven сессии
finish-ok, обрабатываемая при successful окончании maven сессии
finish-error, обрабатывается если сессия зафейлилась

подключается расширение достаточно просто
<build>
    <extensions>
        <extension>
            <groupId>com.igormaznitsa</groupId>
                <artifactId>mvn-finisher-extension</artifactId>
                <version>1.0.0</version>
        </extension>
    </extensions>
</build>

каждая задача в данных фазах выполняется в отдельном запросе к maven и выполняются они все (внезависимости от того были в них ошибки или нет)

пример задачи помеченной для выполнения в finish фазе
<plugin>
    <groupId>com.github.ekryd.echo-maven-plugin</groupId>
    <artifactId>echo-maven-plugin</artifactId>
    <version>1.2.0</version>
    <executions>
        <execution>
            <id>print-echo</id>
            <phase>finish</phase>
            <goals>
                <goal>echo</goal>
            </goals>
            <configuration>
                <message>Hello World from finishing task</message>
            </configuration>
        </execution>
    </executions>
</plugin>


если присутствуют задачи помеченные как finish-ok/finish-error и finish, то сначала выполняются finish-ok/finish-error и затем finish, задачи выполняются последовательно
https://github.com/raydac
maven plugin extension
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.