maven 检查项目版本是否不是快照

5ssjco0h  于 2023-04-29  发布在  Maven
关注(0)|答案(1)|浏览(189)

Maven check that all dependencies have been released非常相似,Maven也应该自动检查当前版本的版本不是SNAPSHOT。
最简单的方法是什么?

wlp8pajw

wlp8pajw1#

maven-enforcer-plugin似乎没有为这个任务提供内置规则。但是,requireProperty可以配置为执行检查。
我在release配置文件中添加了以下代码片段。第一次执行检查项目版本不包含字符串SNAPSHOT。第二次执行检查没有依赖项是SNAPSHOT版本。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>3.3.0</version>
  <executions>
    <execution>
      <id>enforce-property</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireProperty>
            <property>project.version</property>
            <message>"Project version must be specified."</message>
            <regex>^(?!.*SNAPSHOT).+$</regex>
            <regexMessage>"Project version must not contain -SNAPSHOT."</regexMessage>
          </requireProperty>
        </rules>
        <fail>true</fail>
      </configuration>
    </execution>
    <execution>
      <id>enforce-no-snapshots</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireReleaseDeps>
            <message>No Snapshots Allowed!</message>
          </requireReleaseDeps>
        </rules>
        <fail>true</fail>
      </configuration>
    </execution>
  </executions>
</plugin>

相关问题