Есть ли способ повторно использовать части профиля maven в профиле дочернего модуля? - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть профиль в parent, который определяет выполнение тестов перед интеграцией и тестом после интеграции, он просто подготавливает ресурсы инфраструктуры тестирования (тесты дыма записаны в javascript), а затем вызывает цели start / stop Плагин tomcat7 на этапах тестирования до / после интеграции.

Я хочу сделать ту же подготовку ресурсов фреймворка, только теперь я хочу вызвать цель плагина docker (запуск / остановка).

это работает только в том случае, если я переопределяю профиль в дочернем элементе и заменяю выполнение tomcat на этап «none» вместо post / pre-интеграционных тестов, а мои docker замены заменяют их. поэтому я здесь, кот включен:

 <profile>
        <id>run-ui-tests</id>
        <activation>
            <property>
                <name>run.ui-tests</name>
                <value>true</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                <!-- some tomcat plugin definition -->
                 <executions>
                    <execution>
                        <id>start-tomcat-for-integration-test</id>

                        <!-- to disable change the phase to none here -->

                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>stop-tomcat-after-integration-test</id>

                        <!-- to disable change the phase to none here -->

                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>shutdown</goal>
                        </goals>
                    </execution>
                </executions>
        </build>
<profile>

Здесь docker отключен:

 <profile>
        <id>run-ui-tests</id>
        <activation>
            <property>
                <name>run.ui-tests</name>
                <value>true</value>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                <!-- some docker plugin definition -->
                </executions>
             <executions>
                <execution>
                    <id>start</id>

                    <!-- to enable change the phase to pre-integration-test here -->

                    <phase>none</phase>
                    <goals>
                        <goal>build</goal>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop</id>

                    <!-- to enable change the phase to post-integration-test here -->

                    <phase>none</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </build>
<profile>

вопрос в том, могу ли я иметь один профиль, который может переключаться между docker и tomcat (возможно, при изменении свойства), в то же время наследуя то же самое копирование ресурса и подготовку инфраструктуры от родителя, и при этом не нужно создавать 2 профиля и иметь повторяющиеся шаги, которые отличаются только при выборе docker или tomcat ?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...