You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/11/30 08:11:03 UTC
svn commit: r599707 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/extension/
maven-core/src/test/java/org/apache/maven/extension/
maven-embedder/src/test/java/org/apache/maven/embedder/
Author: jdcasey
Date: Thu Nov 29 23:11:00 2007
New Revision: 599707
URL: http://svn.apache.org/viewvc?rev=599707&view=rev
Log:
Adding unit tests for plugin-as-extension in the extension scanner, cleaning up an unneeded call to registerWagons() (controlled by active collection now), and cleaning up a sysout in the embedder unit test.
Added:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java (with props)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java?rev=599707&r1=599706&r2=599707&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java Thu Nov 29 23:11:00 2007
@@ -68,6 +68,23 @@
private ModelInterpolator modelInterpolator;
+ public DefaultBuildExtensionScanner()
+ {
+ }
+
+ protected DefaultBuildExtensionScanner( ExtensionManager extensionManager,
+ MavenProjectBuilder projectBuilder,
+ ModelLineageBuilder modelLineageBuilder,
+ ModelInterpolator modelInterpolator,
+ Logger logger )
+ {
+ this.extensionManager = extensionManager;
+ this.projectBuilder = projectBuilder;
+ this.modelLineageBuilder = modelLineageBuilder;
+ this.modelInterpolator = modelInterpolator;
+ this.logger = logger;
+ }
+
public void scanForBuildExtensions( List files,
MavenExecutionRequest request )
throws ExtensionScanningException
@@ -172,10 +189,6 @@
inheritedInterpolationValues.putAll( modelProps );
}
}
-
- getLogger().debug( "Finished pre-scanning: " + pom + " for build extensions." );
-
- extensionManager.registerWagons();
}
catch ( ModelInterpolationException e )
{
Added: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java?rev=599707&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java (added)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java Thu Nov 29 23:11:00 2007
@@ -0,0 +1,217 @@
+package org.apache.maven.extension;
+
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginManagement;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.build.model.DefaultModelLineage;
+import org.apache.maven.project.build.model.ModelLineage;
+import org.apache.maven.project.build.model.ModelLineageBuilder;
+import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.project.interpolation.ModelInterpolator;
+import org.apache.maven.shared.tools.easymock.MockManager;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.ArgumentsMatcher;
+import org.easymock.MockControl;
+
+import java.io.File;
+import java.util.Collections;
+
+import junit.framework.TestCase;
+
+public class DefaultBuildExtensionScannerTest
+ extends TestCase
+{
+
+ private MockManager mockManager;
+
+ private MockControl extensionManagerCtl;
+
+ private ExtensionManager extensionManager;
+
+ private MockControl projectBuilderCtl;
+
+ private MavenProjectBuilder projectBuilder;
+
+ private MockControl modelLineageBuilderCtl;
+
+ private ModelLineageBuilder modelLineageBuilder;
+
+ private MockControl modelInterpolatorCtl;
+
+ private ModelInterpolator modelInterpolator;
+
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ mockManager = new MockManager();
+
+ extensionManagerCtl = MockControl.createControl( ExtensionManager.class );
+ mockManager.add( extensionManagerCtl );
+ extensionManager = (ExtensionManager) extensionManagerCtl.getMock();
+
+ projectBuilderCtl = MockControl.createControl( MavenProjectBuilder.class );
+ mockManager.add( projectBuilderCtl );
+ projectBuilder = (MavenProjectBuilder) projectBuilderCtl.getMock();
+
+ modelLineageBuilderCtl = MockControl.createControl( ModelLineageBuilder.class );
+ mockManager.add( modelLineageBuilderCtl );
+ modelLineageBuilder = (ModelLineageBuilder) modelLineageBuilderCtl.getMock();
+
+ modelInterpolatorCtl = MockControl.createControl( ModelInterpolator.class );
+ mockManager.add( modelInterpolatorCtl );
+ modelInterpolator = (ModelInterpolator) modelInterpolatorCtl.getMock();
+ }
+
+ public void testIncludePluginWhenExtensionsFlagDirectlySet()
+ throws ExtensionScanningException, ProjectBuildingException, ModelInterpolationException,
+ ExtensionManagerException
+ {
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+ File pomFile = new File( "pom" );
+
+ Model model = new Model();
+
+ model.setGroupId( "group" );
+ model.setArtifactId( "artifact" );
+
+ Build build = new Build();
+ model.setBuild( build );
+
+ Plugin plugin = new Plugin();
+
+ build.addPlugin( plugin );
+
+ plugin.setGroupId( "test" );
+ plugin.setArtifactId( "artifact" );
+ plugin.setExtensions( true );
+
+ ModelLineage ml = new DefaultModelLineage();
+ ml.setOrigin( model, pomFile, Collections.EMPTY_LIST, true );
+
+ modelLineageBuilder.buildModelLineage( pomFile, null, null, null, false, true );
+ modelLineageBuilderCtl.setMatcher( MockControl.ALWAYS_MATCHER );
+ modelLineageBuilderCtl.setReturnValue( ml );
+
+ modelInterpolator.interpolate( model, null, false );
+ modelInterpolatorCtl.setMatcher( MockControl.ALWAYS_MATCHER );
+ modelInterpolatorCtl.setReturnValue( model );
+
+ extensionManager.addPluginAsExtension( plugin, model, Collections.EMPTY_LIST, request );
+ extensionManagerCtl.setVoidCallable();
+
+ MavenProject superProject = new MavenProject( new Model() );
+ superProject.setRemoteArtifactRepositories( Collections.EMPTY_LIST );
+
+ projectBuilder.buildStandaloneSuperProject();
+ projectBuilderCtl.setReturnValue( superProject );
+
+ mockManager.replayAll();
+
+ new DefaultBuildExtensionScanner( extensionManager, projectBuilder, modelLineageBuilder,
+ modelInterpolator, new ConsoleLogger( Logger.LEVEL_DEBUG,
+ "test" ) ).scanForBuildExtensions( pomFile,
+ request );
+
+ mockManager.verifyAll();
+ }
+
+ public void testIncludePluginWhenExtensionsFlagSetInPluginManagement()
+ throws ExtensionScanningException, ProjectBuildingException, ModelInterpolationException,
+ ExtensionManagerException
+ {
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+ File pomFile = new File( "pom" );
+
+ Model model = new Model();
+
+ model.setGroupId( "group" );
+ model.setArtifactId( "artifact" );
+
+ Build build = new Build();
+ model.setBuild( build );
+
+ Plugin plugin = new Plugin();
+
+ build.addPlugin( plugin );
+
+ plugin.setGroupId( "test" );
+ plugin.setArtifactId( "artifact" );
+
+ Parent parent = new Parent();
+ parent.setGroupId( "group" );
+ parent.setArtifactId( "parent" );
+ model.setParent( parent );
+
+ Model parentModel = new Model();
+ parentModel.setGroupId( "group" );
+ parentModel.setArtifactId( "parent" );
+
+ Build parentBuild = new Build();
+ parentModel.setBuild( parentBuild );
+
+ PluginManagement pMgmt = new PluginManagement();
+ parentBuild.setPluginManagement( pMgmt );
+
+ Plugin parentPlugin = new Plugin();
+
+ pMgmt.addPlugin( parentPlugin );
+
+ parentPlugin.setGroupId( "test" );
+ parentPlugin.setArtifactId( "artifact" );
+ parentPlugin.setExtensions( true );
+
+ ModelLineage ml = new DefaultModelLineage();
+ ml.setOrigin( model, pomFile, Collections.EMPTY_LIST, true );
+ ml.addParent( parentModel, pomFile, Collections.EMPTY_LIST, false );
+
+ modelLineageBuilder.buildModelLineage( pomFile, null, null, null, false, true );
+ modelLineageBuilderCtl.setMatcher( MockControl.ALWAYS_MATCHER );
+ modelLineageBuilderCtl.setReturnValue( ml );
+
+ modelInterpolator.interpolate( model, null, false );
+ modelInterpolatorCtl.setMatcher( new ArgumentsMatcher(){
+ public boolean matches( Object[] expected,
+ Object[] actual )
+ {
+ return expected[0].equals( actual[0] );
+ }
+
+ public String toString( Object[] arguments )
+ {
+ return "matcher for: " + ((Model) arguments[0]).getId();
+ }
+ } );
+ modelInterpolatorCtl.setReturnValue( model, 1 );
+
+ modelInterpolator.interpolate( parentModel, null, false );
+ modelInterpolatorCtl.setReturnValue( parentModel, 1 );
+
+ extensionManager.addPluginAsExtension( plugin, model, Collections.EMPTY_LIST, request );
+ extensionManagerCtl.setVoidCallable();
+
+ MavenProject superProject = new MavenProject( new Model() );
+ superProject.setRemoteArtifactRepositories( Collections.EMPTY_LIST );
+
+ projectBuilder.buildStandaloneSuperProject();
+ projectBuilderCtl.setReturnValue( superProject );
+
+ mockManager.replayAll();
+
+ new DefaultBuildExtensionScanner( extensionManager, projectBuilder, modelLineageBuilder,
+ modelInterpolator, new ConsoleLogger( Logger.LEVEL_DEBUG,
+ "test" ) ).scanForBuildExtensions( pomFile,
+ request );
+
+ mockManager.verifyAll();
+ }
+}
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java?rev=599707&r1=599706&r2=599707&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java Thu Nov 29 23:11:00 2007
@@ -48,8 +48,6 @@
MavenExecutionResult result = embedder.readProjectWithDependencies( request );
- System.out.println( "Got exceptions: " + result.getExceptions() );
-
assertNoExceptions( result );
// sources, test sources, and the junit jar..