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:' )