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/02 23:12:41 UTC
svn commit: r1488792 -
/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
Author: rfscholte
Date: Sun Jun 2 21:12:41 2013
New Revision: 1488792
URL: http://svn.apache.org/r1488792
Log:
[MENFORCER-152] Refactor code, there are more spots with dependencies
Modified:
maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java?rev=1488792&r1=1488791&r2=1488792&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java Sun Jun 2 21:12:41 2013
@@ -117,37 +117,49 @@ public class BanDuplicatePomDependencyVe
private void maven2Validation( EnforcerRuleHelper helper, Model model )
throws EnforcerRuleException
{
- Map<String, Integer> depMap = new HashMap<String, Integer>();
- Set<String> duplicateDeps = new HashSet<String>();
-
@SuppressWarnings( "unchecked" )
List<Dependency> dependencies = model.getDependencies();
- for ( Dependency dependency : dependencies )
- {
- String key = dependency.getManagementKey();
-
- helper.getLog().debug( "verify " + key );
- int times = 0;
- if ( depMap.containsKey( key ) )
+ Map<String, Integer> duplicateDependencies = validateDependencies( dependencies );
+
+ if ( !duplicateDependencies.isEmpty() )
+ {
+ StringBuilder message = new StringBuilder();
+ message.append( "Found " ).append( duplicateDependencies.size() ).append( " duplicate " );
+ message.append( duplicateDependencies.size() == 1 ? "dependency" : "dependencies" ).append( " in this project:\n" );
+ for ( Map.Entry<String, Integer> entry : duplicateDependencies.entrySet() )
{
- times = depMap.get( key );
- duplicateDeps.add( key );
+ message.append( " - " ).append( entry.getKey() ).append( " ( " ).append( entry.getValue() ).append( " times )\n" );
}
- depMap.put( key, times + 1 );
+ throw new EnforcerRuleException( message.toString() );
}
- if ( !duplicateDeps.isEmpty() )
+ }
+
+ private Map<String, Integer> validateDependencies( List<Dependency> dependencies )
+ throws EnforcerRuleException
+ {
+ Map<String, Integer> duplicateDeps = new HashMap<String, Integer>();
+ Set<String> deps = new HashSet<String>();
+ for ( Dependency dependency : dependencies )
{
- StringBuilder message = new StringBuilder();
- message.append( "Found " ).append( duplicateDeps.size() ).append( " duplicate " );
- message.append( duplicateDeps.size() == 1 ? "dependency" : "dependencies" ).append( " in this project:\n" );
- for ( String key : duplicateDeps )
+ String key = dependency.getManagementKey();
+
+ if ( deps.contains( key ) )
{
- message.append( " - " ).append( key ).append( " ( " ).append( depMap.get( key ) ).append( " times )\n" );
+ int times = 1;
+ if( duplicateDeps.containsKey( key ) )
+ {
+ times = duplicateDeps.get( key );
+ }
+ duplicateDeps.put( key, times + 1 );
+ }
+ else
+ {
+ deps.add( key );
}
- throw new EnforcerRuleException( message.toString() );
}
+ return duplicateDeps;
}
}