You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/06/09 12:42:01 UTC

svn commit: r1491179 - in /maven/enforcer/trunk: enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/

Author: rfscholte
Date: Sun Jun  9 10:42:01 2013
New Revision: 1491179

URL: http://svn.apache.org/r1491179
Log:
[MENFORCER-134] Require Upper Bound Dependencies and matching Snapshot Dependencies 
Improve IT

Added:
    maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/verify.groovy
Modified:
    maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
    maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/pom.xml

Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java?rev=1491179&r1=1491178&r2=1491179&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java Sun Jun  9 10:42:01 2013
@@ -261,15 +261,30 @@ public class RequireUpperBoundDeps
         @SuppressWarnings( "unchecked" )
         private boolean containsConflicts( List<DependencyNodeHopCountPair> pairs )
         {
-            ArtifactVersion resolvedVersion = pairs.get( 0 ).extractArtifactVersion( uniqueVersions );
-            for ( DependencyNodeHopCountPair pair : pairs )
+            if ( pairs.size() > 1 )
             {
-                ArtifactVersion version = pair.extractArtifactVersion( uniqueVersions );
-                if ( resolvedVersion.compareTo( version ) < 0 )
+                DependencyNodeHopCountPair resolvedPair = pairs.get( 0 );
+
+                // search for artifact with lowest hopCount
+                for ( DependencyNodeHopCountPair hopPair : pairs )
                 {
-                    return true;
+                    if ( hopPair.getHopCount() < resolvedPair.getHopCount() )
+                    {
+                        resolvedPair = hopPair;
+                    }
                 }
-            }
+
+                ArtifactVersion resolvedVersion = resolvedPair.extractArtifactVersion( uniqueVersions );
+
+                for ( DependencyNodeHopCountPair pair : pairs )
+                {
+                    ArtifactVersion version = pair.extractArtifactVersion( uniqueVersions );
+                    if ( resolvedVersion.compareTo( version ) < 0 )
+                    {
+                        return true;
+                    }
+                }
+            } 
             return false;
         }
 

Modified: maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/pom.xml?rev=1491179&r1=1491178&r2=1491179&view=diff
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/pom.xml (original)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/pom.xml Sun Jun  9 10:42:01 2013
@@ -21,7 +21,7 @@
             <configuration>
               <rules>
                 <requireUpperBoundDeps>
-                  <unique>true</unique>
+                  <uniqueVersions>true</uniqueVersions>
                 </requireUpperBoundDeps>
               </rules>
             </configuration>

Added: maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/verify.groovy
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/verify.groovy?rev=1491179&view=auto
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/verify.groovy (added)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/it/projects/require-upper-bound-dependencies-unique_failure/verify.groovy Sun Jun  9 10:42:01 2013
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Rule 0: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:' )
+assert buildLog.text.contains( 'Require upper bound dependencies error for org.apache.maven.plugins.enforcer.its:menforcer134_model:1.0-20130423.042904-7222 paths to dependency are:' )