Плагин Build Helper Maven не удаляет все регулярные выражения - PullRequest
0 голосов
/ 17 декабря 2018

Я использую плагин 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.Похоже, что оно соответствует регулярному выражению, но заменяет только -, , но не полностью соответствует .

Является ли это ошибкой, как кажется, или я делаю это неправильно?И кто-нибудь знает обходной путь?

...