С учетом пом. xml
<plugin>
<groupId>com.myplugin</groupId>
<artifactId>my-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>generate-file</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<templateFile>
${project.build.directory}/template.json
</templateFile>
<outputFile>
${project.build.directory}/${env}-${server}-file.json
</outputFile>
</configuration>
</execution>
<execution>
<id>send-file</id>
<phase>package</phase>
<goals>
<goal>send</goal>
</goals>
<configuration>
<file>
${project.build.directory}/${env}-${server}-file.json
</file>
</configuration>
</execution>
</executions>
</plugin>
<profiles>
<profile>
<id>dev-a</id>
<properties>
<env>test</env>
<server>serverA</server>
</properties>
</profile>
<profile>
<id>prod-a</id>
<properties>
<env>prod</env>
<server>serverA</server>
</properties>
</profile>
<profile>
<id>dev-b</id>
<properties>
<env>test</env>
<server>serverB</server>
</properties>
</profile>
<profile>
<id>prod-b</id>
<properties>
<env>prod</env>
<server>serverB</server>
</properties>
</profile>
</profiles>
Как выполнить задачу send-file
, только если свойство env
равно prod
? Я знаю, что могу переместить тег plugin
в профили dev-a
и prod-a
в этом примере, но мне нужно будет продублировать эту часть для каждого профиля, что не кажется хорошим решением. В моем случае у меня определено гораздо больше профилей, а определение исполнения плагина намного длиннее, это сильно загромождает мой pom-файл и делает любые изменения очень подверженными ошибкам. Есть ли какой-либо условный тег, который я могу передать выполнению, который позволил бы мне решить, вызывается он или нет? Или, может быть, есть возможность исключить выполнение по идентификатору в теге профиля?
Спасибо за помощь!