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)

Reply via email to