svn commit: r1234303 - /maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
Author: rfscholte Date: Sat Jan 21 11:31:26 2012 New Revision: 1234303 URL: http://svn.apache.org/viewvc?rev=1234303view=rev Log: format code, no changes Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java?rev=1234303r1=1234302r2=1234303view=diff == --- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java Sat Jan 21 11:31:26 2012 @@ -1,4 +1,5 @@ package org.apache.maven.plugins.enforcer; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -43,148 +44,183 @@ import org.codehaus.plexus.i18n.I18N; /** * @author a href=mailto:r...@e-hoffman.org;Rex Hoffman/a */ -public class DependencyConvergence implements EnforcerRule { - - private static Log log; - - private static I18N i18n; - - /** - * Uses the {@link EnforcerRuleHelper} to populate the values of the {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)} - * factory method. br/ - * - * This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do. - * - * @param helper - * @return a Dependency Node which is the root of the project's dependency tree - * @throws EnforcerRuleException - */ - private DependencyNode getNode(EnforcerRuleHelper helper) throws EnforcerRuleException { -try { - MavenProject project= (MavenProject) helper.evaluate(${project}); - DependencyTreeBuilder dependencyTreeBuilder = (DependencyTreeBuilder) helper.getComponent(DependencyTreeBuilder.class); - ArtifactRepository repository = (ArtifactRepository)helper.evaluate(${localRepository}); - ArtifactFactoryfactory= (ArtifactFactory)helper.getComponent(ArtifactFactory.class); - ArtifactMetadataSource metadataSource = (ArtifactMetadataSource)helper.getComponent(ArtifactMetadataSource.class); - ArtifactCollector collector = (ArtifactCollector)helper.getComponent(ArtifactCollector.class); - ArtifactFilter filter = null; //we need to evaluate all scopes - DependencyNode node = dependencyTreeBuilder.buildDependencyTree(project, repository, factory, metadataSource, filter, collector); - return node; -} catch (ExpressionEvaluationException e) { - throw new EnforcerRuleException(Unable to lookup an expression + e.getLocalizedMessage(), e); -} catch (ComponentLookupException e){ - throw new EnforcerRuleException(Unable to lookup a component + e.getLocalizedMessage(), e); -} catch (DependencyTreeBuilderException e){ - throw new EnforcerRuleException(Could not build dependency tree + e.getLocalizedMessage(), e); -} - } - - public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException { -if (log == null){ - log = helper.getLog(); -} -try { - if (i18n == null){ -i18n = (I18N) helper.getComponent(I18N.class); - } - DependencyNode node = getNode(helper); - MavenProject project = (MavenProject) helper.evaluate(${project}); - DependencyVersionMap visitor = new DependencyVersionMap(project.getArtifact().isRelease(), log); - node.accept(visitor); - ListCharSequence errorMsgs = new ArrayListCharSequence(); - errorMsgs.addAll(getConvergenceErrorMsgs(visitor.getConflictedVersionNumbers())); - for (CharSequence errorMsg : errorMsgs) { -log.error(errorMsg); - } - if (errorMsgs.size() 0) { -throw new EnforcerRuleException(Failed while enforcing releasability the error(s) are + errorMsgs); - } -} catch (ExpressionEvaluationException e) { - throw new EnforcerRuleException(Unable to lookup an expression + e.getLocalizedMessage(), e); -} catch (ComponentLookupException e){ - throw new EnforcerRuleException(Unable to lookup a component + e.getLocalizedMessage(), e); -} catch (Exception e){ - throw new EnforcerRuleException(e.getLocalizedMessage(), e); -} - } - - private String getFullArtifactName(Artifact artifact){ -return artifact.getGroupId() + : + artifact.getArtifactId() +:+ artifact.getVersion(); - } - - private StringBuilder buildTreeString(DependencyNode node) { -ListString loc = new
svn commit: r1234304 - /maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
Author: rfscholte Date: Sat Jan 21 11:48:12 2012 New Revision: 1234304 URL: http://svn.apache.org/viewvc?rev=1234304view=rev Log: format code, no changes Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java?rev=1234304r1=1234303r2=1234304view=diff == --- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java Sat Jan 21 11:48:12 2012 @@ -1,4 +1,5 @@ package org.apache.maven.plugins.enforcer.utils; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -27,96 +28,122 @@ import org.apache.maven.plugin.logging.L import org.apache.maven.shared.dependency.tree.DependencyNode; import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor; -public class DependencyVersionMap implements DependencyNodeVisitor { - - private boolean demandReleasedVersions = false; - - private MapString, ListDependencyNode idsToNode; - - private ListDependencyNode snapshots; - - public DependencyVersionMap(Log log){ -idsToNode = new HashMapString, ListDependencyNode(); -snapshots = new ArrayListDependencyNode(); - } - - public DependencyVersionMap(boolean demandReleasedVersions, Log log){ -this(log); -this.demandReleasedVersions = demandReleasedVersions; - } - - public boolean visit(DependencyNode node) { -addDependency(node); -if (containsConflicts(node)){ - return false; -} -if (demandReleasedVersions){ - if (node.getArtifact().isSnapshot()){ -snapshots.add(node); +public class DependencyVersionMap +implements DependencyNodeVisitor +{ + +private boolean demandReleasedVersions = false; + +private MapString, ListDependencyNode idsToNode; + +private ListDependencyNode snapshots; + +public DependencyVersionMap( Log log ) +{ +idsToNode = new HashMapString, ListDependencyNode(); +snapshots = new ArrayListDependencyNode(); +} + +public DependencyVersionMap( boolean demandReleasedVersions, Log log ) +{ +this( log ); +this.demandReleasedVersions = demandReleasedVersions; +} + +public boolean visit( DependencyNode node ) +{ +addDependency( node ); +if ( containsConflicts( node ) ) +{ +return false; +} +if ( demandReleasedVersions ) +{ +if ( node.getArtifact().isSnapshot() ) +{ +snapshots.add( node ); +return false; +} +} +return true; +} + +public boolean endVisit( DependencyNode node ) +{ +return true; +} + +private String constructKey( DependencyNode node ) +{ +return constructKey( node.getArtifact() ); +} + +private String constructKey( Artifact artifact ) +{ +return artifact.getGroupId() + : + artifact.getArtifactId(); +} + +public void addDependency( DependencyNode node ) +{ +String key = constructKey( node ); +if ( node.getArtifact().isSnapshot() ) +{ +snapshots.add( node ); +} +ListDependencyNode nodes = idsToNode.get( key ); +if ( nodes == null ) +{ +nodes = new ArrayListDependencyNode(); +idsToNode.put( key, nodes ); +} +nodes.add( node ); +} + +public ListDependencyNode getSnapshots() +{ +return snapshots; +} + +private boolean containsConflicts( DependencyNode node ) +{ +return containsConflicts( node.getArtifact() ); +} + +private boolean containsConflicts( Artifact artifact ) +{ +return containsConflicts( idsToNode.get( constructKey( artifact ) ) ); +} + +private boolean containsConflicts( ListDependencyNode nodes ) +{ +String version = null; +for ( DependencyNode node : nodes ) +{ +if ( version == null ) +{ +version = node.getArtifact().getVersion(); +} +else +{ +if ( version.compareTo( node.getArtifact().getVersion() ) != 0 ) +{ +return true; +} +} +} return false; - } } -return true; - } - public boolean endVisit(DependencyNode node) { -return true; - } -
svn commit: r1234414 - in /maven/enforcer/trunk: enforcer-rules/pom.xml enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java pom.xml
Author: rfscholte Date: Sat Jan 21 20:50:50 2012 New Revision: 1234414 URL: http://svn.apache.org/viewvc?rev=1234414view=rev Log: Replace easymock with mockito Modified: maven/enforcer/trunk/enforcer-rules/pom.xml maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java maven/enforcer/trunk/pom.xml Modified: maven/enforcer/trunk/enforcer-rules/pom.xml URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/pom.xml?rev=1234414r1=1234413r2=1234414view=diff == --- maven/enforcer/trunk/enforcer-rules/pom.xml (original) +++ maven/enforcer/trunk/enforcer-rules/pom.xml Sat Jan 21 20:50:50 2012 @@ -82,8 +82,8 @@ artifactIdjunit/artifactId /dependency dependency - groupIdeasymock/groupId - artifactIdeasymock/artifactId + groupIdorg.mockito/groupId + artifactIdmockito-core/artifactId /dependency dependency groupIdorg.apache.maven.shared/groupId Modified: maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java?rev=1234414r1=1234413r2=1234414view=diff == --- maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java (original) +++ maven/enforcer/trunk/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestEvaluateBeanshell.java Sat Jan 21 20:50:50 2012 @@ -19,13 +19,14 @@ package org.apache.maven.plugins.enforce * under the License. */ +import static org.mockito.Mockito.*; + import junit.framework.TestCase; import org.apache.maven.enforcer.rule.api.EnforcerRuleException; import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator; -import org.easymock.MockControl; /** * The Class TestEvaluateBeanshell. @@ -105,14 +106,11 @@ public class TestEvaluateBeanshell EvaluateBeanshell rule = new EvaluateBeanshell(); rule.condition = ${env} == null; rule.message = We have a variable : ${env}; -MockControl evalControl = MockControl.createControl( ExpressionEvaluator.class ); + +ExpressionEvaluator eval = mock( ExpressionEvaluator.class ); +when( eval.evaluate( rule.condition ) ).thenThrow( new ExpressionEvaluationException( expected error ) ); try { -ExpressionEvaluator eval = (ExpressionEvaluator) evalControl.getMock(); -eval.evaluate( rule.condition ); -evalControl.expectAndDefaultThrow( null, new ExpressionEvaluationException( expected error ) ); -evalControl.replay(); - EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( project, eval ); rule.execute( helper ); fail( Expected an exception. ); @@ -121,8 +119,7 @@ public class TestEvaluateBeanshell { assertFalse( e.getLocalizedMessage().equals( rule.message ) ); } - -evalControl.verify(); +verify( eval ); } public void testRuleInvalidBeanshell() Modified: maven/enforcer/trunk/pom.xml URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/pom.xml?rev=1234414r1=1234413r2=1234414view=diff == --- maven/enforcer/trunk/pom.xml (original) +++ maven/enforcer/trunk/pom.xml Sat Jan 21 20:50:50 2012 @@ -212,9 +212,9 @@ scopetest/scope /dependency dependency -groupIdeasymock/groupId -artifactIdeasymock/artifactId -version1.2_Java1.3/version +groupIdorg.mockito/groupId +artifactIdmockito-core/artifactId +version1.9.0/version scopetest/scope /dependency dependency