Как опубликовать артефакты в конце, используя плагин maven-release - PullRequest
0 голосов
/ 26 июня 2018

У меня есть мультимодульный проект Maven.Я использую плагин maven-release для публикации артефакта в репозитории maven.Я использую следующую команду для выполнения вышеуказанной задачи.

mvn -B clean release:clean release:prepare release:perform -DautoVersionSubmodules=true '-DscmCommentPrefix=[maven-release-plugin]'

В одном из субмодулей у меня произошел сбой модульного теста, но я все еще вижу, что остальные модули опубликованы в репозитории maven, кроме неисправного модуля.

Можно ли публиковать все подмодули только после прохождения модульных тестов для всех модулей?

Ниже приведена конфигурация maven pom, которую я имею в Parent pom.xml.

<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
          <configuration>
              <tagNameFormat>v@{project.version}</tagNameFormat>
              <localCheckout>true</localCheckout>
              <autoVersionSubmodules>true</autoVersionSubmodules>
              <useReleaseProfile>false</useReleaseProfile>
              <localCheckout>true</localCheckout>
              <pushChanges>true</pushChanges>
              <mavenExecutorId>forked-path</mavenExecutorId>
              <preparationGoals>clean deploy -U -B</preparationGoals>
              <goals>clean install</goals>
              <arguments>-Prelease</arguments>
          </configuration>
      </plugin>

1 Ответ

0 голосов
/ 17 января 2019

Плагин maven-deploy-plugin имеет параметр командной строки "-DdeployAtEnd = true", который выполнит это.Но поскольку maven-release-plugin запускает команду deploy в своем собственном экземпляре Maven, вы должны передать ее в этот экземпляр с помощью опции maven-release-plugin -Darguments.

В целом ваша команда будет выглядеть такэто.

mvn -B clean release:clean release:prepare -Darguments=\"-DdeployAtEnd=true\" release:perform -DautoVersionSubmodules=true '-DscmCommentPrefix=[maven-release-plugin]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...