You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2008/11/25 17:13:29 UTC
svn commit: r720525 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/listeners/ test/java/org/apache/maven/listeners/
Author: jvanzyl
Date: Tue Nov 25 08:13:29 2008
New Revision: 720525
URL: http://svn.apache.org/viewvc?rev=720525&view=rev
Log:
o adding missing model extensions i added
Added:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java (with props)
maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java (with props)
maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java (with props)
maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/
maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java (with props)
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java?rev=720525&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java Tue Nov 25 08:13:29 2008
@@ -0,0 +1,23 @@
+package org.apache.maven.listeners;
+
+import java.util.List;
+
+import org.apache.maven.execution.MavenSession;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+@Component(role = MavenModelEventProcessor.class)
+public class DefaultMavenModelEventProcessor
+ implements MavenModelEventProcessor
+{
+ @Requirement
+ List<MavenModelEventListener> listeners;
+
+ public void processModelContainers( MavenSession session )
+ {
+ for( MavenModelEventListener listener : listeners )
+ {
+ listener.processModelContainers( session );
+ }
+ }
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java?rev=720525&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java Tue Nov 25 08:13:29 2008
@@ -0,0 +1,10 @@
+package org.apache.maven.listeners;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.shared.model.ModelEventListener;
+
+public interface MavenModelEventListener
+ extends ModelEventListener
+{
+ void processModelContainers( MavenSession session );
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java?rev=720525&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java Tue Nov 25 08:13:29 2008
@@ -0,0 +1,8 @@
+package org.apache.maven.listeners;
+
+import org.apache.maven.execution.MavenSession;
+
+public interface MavenModelEventProcessor
+{
+ void processModelContainers( MavenSession session );
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java?rev=720525&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java (added)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java Tue Nov 25 08:13:29 2008
@@ -0,0 +1,103 @@
+package org.apache.maven.listeners;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DuplicateProjectException;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.execution.ReactorManager;
+import org.apache.maven.model.Model;
+import org.apache.maven.monitor.event.DefaultEventDispatcher;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.builder.ProjectUri;
+import org.apache.maven.shared.model.ModelContainer;
+import org.apache.maven.shared.model.ModelContainerAction;
+import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.wagon.Wagon;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
+
+public class BuildExtensionListenerTest
+ extends PlexusTestCase
+{
+ public void testBuildExtensionListener()
+ throws Exception
+ {
+ BuildExtensionListener listener = (BuildExtensionListener) lookup( MavenModelEventListener.class, "extensions" );
+
+ // Create the model properties and the model container to feed to the event firing
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ modelProperties.add( new ModelProperty( ProjectUri.Build.Extensions.Extension.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Build.Extensions.Extension.groupId, "org.apache.maven.wagon" ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Build.Extensions.Extension.artifactId, "wagon-webdav" ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Build.Extensions.Extension.version, "1.0-beta-2" ) );
+ ModelContainer container = new TestModelContainer( modelProperties );
+
+ // Fire the event.
+ listener.fire( Arrays.asList( container ) );
+
+ try
+ {
+ lookup( Wagon.class, "dav" );
+ fail( "The lookup for the wagon dav extension should not be possible yet." );
+ }
+ catch( Exception e )
+ {
+ // We should get an exception.
+ }
+
+ // Process the data we have collected.
+ listener.processModelContainers( newMavenSession() );
+
+ // Now we should be able to find the extension.
+ lookup( Wagon.class, "dav" );
+ }
+
+ private MavenSession newMavenSession()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ Model model = new Model();
+ model.setGroupId( "group" );
+ model.setArtifactId( "artifact" );
+ model.setVersion( "1" );
+
+ MavenProject project = new MavenProject( model );
+ ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+ request.setLocalRepositoryPath( new File( "/Users/jvanzyl/.m2/repository" ) );
+ MavenSession session = new MavenSession( getContainer(), request, new DefaultEventDispatcher(), rm );
+
+ return session;
+ }
+
+ public class TestModelContainer
+ implements ModelContainer
+ {
+ List<ModelProperty> modelProperties;
+
+ public TestModelContainer( List<ModelProperty> properties )
+ {
+ this.modelProperties = properties;
+ }
+
+ public List<ModelProperty> getProperties()
+ {
+ return new ArrayList<ModelProperty>( modelProperties );
+ }
+
+ public ModelContainerAction containerAction( ModelContainer modelContainer )
+ {
+ return null;
+ }
+
+ public ModelContainer createNewInstance( List<ModelProperty> modelProperties )
+ {
+ return null;
+ }
+ }
+}
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Re: svn commit: r720525 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/listeners/ test/java/org/apache/maven/listeners/
Posted by Benjamin Bentmann <be...@udo.edu>.
Barrie Treloar wrote:
> On Wed, Nov 26, 2008 at 2:49 AM, Benjamin Bentmann
> <be...@udo.edu> wrote:
>>> + request.setLocalRepositoryPath( new File(
>>> "/Users/jvanzyl/.m2/repository" ) );
>> This path might be troublesome for others...
>
> Hahahaha.
> Only for those that aren't jason clones :)
Hm, you make me curious: How many of those are floating around here ;-) ?
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r720525 - in /maven/components/trunk/maven-core/src: main/java/org/apache/maven/listeners/ test/java/org/apache/maven/listeners/
Posted by Barrie Treloar <ba...@gmail.com>.
On Wed, Nov 26, 2008 at 2:49 AM, Benjamin Bentmann
<be...@udo.edu> wrote:
>> + request.setLocalRepositoryPath( new File(
>> "/Users/jvanzyl/.m2/repository" ) );
>
> This path might be troublesome for others...
Hahahaha.
Only for those that aren't jason clones :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r720525 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/listeners/ test/java/org/apache/maven/listeners/
Posted by Benjamin Bentmann <be...@udo.edu>.
jvanzyl wrote:
> Author: jvanzyl
> Date: Tue Nov 25 08:13:29 2008
> New Revision: 720525
>
> URL: http://svn.apache.org/viewvc?rev=720525&view=rev
> Log:
> o adding missing model extensions i added
>
> Added:
> maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/DefaultMavenModelEventProcessor.java (with props)
> maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventListener.java (with props)
> maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/MavenModelEventProcessor.java (with props)
> maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/
> maven/components/trunk/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java (with props)
>
> + private MavenSession newMavenSession()
> + throws CycleDetectedException, DuplicateProjectException
> + {
> + Model model = new Model();
> + model.setGroupId( "group" );
> + model.setArtifactId( "artifact" );
> + model.setVersion( "1" );
> +
> + MavenProject project = new MavenProject( model );
> + ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
> + MavenExecutionRequest request = new DefaultMavenExecutionRequest();
> + request.setLocalRepositoryPath( new File( "/Users/jvanzyl/.m2/repository" ) );
This path might be troublesome for others...
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org