John Patrick created MENFORCER-350:
--------------------------------------
Summary: requireMavenVersion x.y.x is processed as (,x.y.z]
instead of [x.y.z,)
Key: MENFORCER-350
URL: https://issues.apache.org/jira/browse/MENFORCER-350
Project: Maven Enforcer Plugin
Issue Type: Improvement
Affects Versions: 3.0.0-M3
Environment: Apache Maven 3.6.3
(cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home:
/Users/USER/.m2/wrapper/dists/apache-maven-3.6.3-bin/1iopthnavndlasol9gbrbg6bf2/apache-maven-3.6.3
Java version: 1.8.0_192, vendor: Oracle Corporation, runtime:
/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
Reporter: John Patrick
Reading the guide
https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html I would
expect a basic version string of 3.6.2 to be converted to [3.6.2,) but from the
investigation below it seams to be converted to (,3.6.2].
e.g. documentation says minimum version but it appears to be maximum version.
I'm using maven wrapper so something like `mvn -N io.takari:maven:0.7.7:wrapper
-Dmaven=3.6.3` to change version, then editing pom.xml version, then executing
`./mvnw clean install` to see if the tests pass or fail.
I've tried 3.0.0-M3 and 3.0.0-M4-SNAPSHOT (master at 2020/02/10).
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>x.y.z</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
{code}
||Maven Wrapper Version||requireMavenVersion||Passed/Failed||Expected||
|3.6.0|3.6.0|Passed|Yes|
|3.6.0|3.6.1|Failed|Yes|
|3.6.0|3.6.2|Failed|Yes|
|3.6.0|3.6.3|Failed|Yes|
|3.6.1|3.6.0|Passed|No|
|3.6.1|3.6.1|Passed|Yes|
|3.6.1|3.6.2|Failed|Yes|
|3.6.1|3.6.3|Failed|Yes|
|3.6.2|3.6.0|Passed|No|
|3.6.2|3.6.1|Passed|No|
|3.6.2|3.6.2|Passed|Yes|
|3.6.2|3.6.3|Failed|Yes|
|3.6.3|3.6.0|Passed|No|
|3.6.3|3.6.1|Passed|No|
|3.6.3|3.6.2|Passed|No|
|3.6.3|3.6.3|Passed|Yes|
|3.6.0|[3.6.0]|Passed|Yes|
|3.6.0|[3.6.1]|Failed|Yes|
|3.6.0|[3.6.2]|Failed|Yes|
|3.6.0|[3.6.3]|Failed|Yes|
|3.6.1|[3.6.0]|Failed|Yes|
|3.6.1|[3.6.1]|Passed|Yes|
|3.6.1|[3.6.2]|Failed|Yes|
|3.6.1|[3.6.3]|Failed|Yes|
|3.6.2|[3.6.0]|Failed|Yes|
|3.6.2|[3.6.1]|Failed|Yes|
|3.6.2|[3.6.2]|Passed|Yes|
|3.6.2|[3.6.3]|Failed|Yes|
|3.6.3|[3.6.0]|Failed|Yes|
|3.6.3|[3.6.1]|Failed|Yes|
|3.6.3|[3.6.2]|Failed|Yes|
|3.6.3|[3.6.3]|Passed|Yes|
|3.6.0|[3.6.0,)|Passed|Yes|
|3.6.0|[3.6.1,)|Failed|Yes|
|3.6.0|[3.6.2,)|Failed|Yes|
|3.6.0|[3.6.3,)|Failed|Yes|
|3.6.1|[3.6.0,)|Passed|Yes|
|3.6.1|[3.6.1,)|Passed|Yes|
|3.6.1|[3.6.2,)|Failed|Yes|
|3.6.1|[3.6.3,)|Failed|Yes|
|3.6.2|[3.6.0,)|Passed|Yes|
|3.6.2|[3.6.1,)|Passed|Yes|
|3.6.2|[3.6.2,)|Passed|Yes|
|3.6.2|[3.6.3,)|Failed|Yes|
|3.6.3|[3.6.0,)|Passed|Yes|
|3.6.3|[3.6.1,)|Passed|Yes|
|3.6.3|[3.6.2,)|Passed|Yes|
|3.6.3|[3.6.3,)|Passed|Yes|
|3.6.0|(,3.6.0]|Passed|Yes|
|3.6.0|(,3.6.1]|Passed|Yes|
|3.6.0|(,3.6.2]|Passed|Yes|
|3.6.0|(,3.6.3]|Passed|Yes|
|3.6.1|(,3.6.0]|Failed|Yes|
|3.6.1|(,3.6.1]|Passed|Yes|
|3.6.1|(,3.6.2]|Passed|Yes|
|3.6.1|(,3.6.3]|Passed|Yes|
|3.6.2|(,3.6.0]|Failed|Yes|
|3.6.2|(,3.6.1]|Failed|Yes|
|3.6.2|(,3.6.2]|Passed|Yes|
|3.6.2|(,3.6.3]|Passed|Yes|
|3.6.3|(,3.6.0]|Failed|Yes|
|3.6.3|(,3.6.1]|Failed|Yes|
|3.6.3|(,3.6.2]|Failed|Yes|
|3.6.3|(,3.6.3]|Passed|Yes|
--
This message was sent by Atlassian Jira
(v8.3.4#803005)