Я использую плагин Build Helper Maven с целью regex-property
.Я хочу удалить все квалификаторы из версии, предоставив мне свойство project.releaseVersion
.
Допустим, мой проект использует версию 1.2.3-SNAPSHOT
.Я могу использовать следующее:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>set-project-release-version</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>project.releaseVersion</name>
<value>${project.version}</value>
<regex>-SNAPSHOT</regex>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
Конечно, теперь project.releaseVersion
теперь содержит 1.2.3
.Хорошо.
К сожалению, это не работает с другими не выпущенными версиями, такими как 1.2.3-beta.4
.Поэтому, чтобы получить «релизную» версию, я просто хочу удалить все после первой -
.В форме регулярных выражений я должен быть в состоянии сопоставить -*
и заменить его ничем, удаляя черту и все после нее, так же, как я сделал для -SNAPSHOT
.Поэтому я попробовал это:
<regex>-*</regex>
Если я попробую это на 1.2.3-SNAPSHOT
, это даст мне 1.2.3SNAPSHOT
.Похоже, что оно соответствует регулярному выражению, но заменяет только -
, , но не полностью соответствует .
Является ли это ошибкой, как кажется, или я делаю это неправильно?И кто-нибудь знает обходной путь?