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 2011/07/30 00:54:21 UTC
svn commit: r1152392 - in /maven/sandbox/trunk/mae: ./ boms/mae-library-bom/
mae-api/ mae-api/src/main/java/org/apache/maven/mae/conf/
mae-api/src/main/java/org/apache/maven/mae/internal/container/
mae-api/src/test/java/org/apache/maven/mae/ mae-booter...
Author: jdcasey
Date: Fri Jul 29 22:54:19 2011
New Revision: 1152392
URL: http://svn.apache.org/viewvc?rev=1152392&view=rev
Log:
Removing mae-container and switching to rely on modified version of sisu, which is explained in the README.markdown file
Removed:
maven/sandbox/trunk/mae/mae-container/
Modified:
maven/sandbox/trunk/mae/README.markdown
maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml
maven/sandbox/trunk/mae/mae-api/pom.xml
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java
maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java
maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java
maven/sandbox/trunk/mae/mae-booter/pom.xml
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/app/AbstractMAEApplication.java
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedder.java
maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedderBuilder.java
maven/sandbox/trunk/mae/mae-components/mae-project-tools/pom.xml
maven/sandbox/trunk/mae/pom.xml
Modified: maven/sandbox/trunk/mae/README.markdown
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/README.markdown?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/README.markdown (original)
+++ maven/sandbox/trunk/mae/README.markdown Fri Jul 29 22:54:19 2011
@@ -1,10 +1,24 @@
-# EMB - Extensible, Modular Builds #
+# MAE - Maven App Engine #
-EMB is a build tool that wraps and extends [Apache Maven](http://maven.apache.org/). Its goal is to provide a mechanism for changing the core functionality of Maven using sets of add-on libraries.
+Maven App Engine is a wrapper around Apache Maven, which focuses on making it easy to embed Maven and make use of its components inside a third-party application.
+
+## Before You Start ##
+
+Before you can build MAE, you'll need a special variant of Sonatype's Sisu Plexus Container. You can find it here:
+
+[https://github.com/jdcasey/sisu/tree/2.1.1-selectable](https://github.com/jdcasey/sisu/tree/2.1.1-selectable)
+
+To build:
+
+ $ git clone https://github.com/jdcasey/sisu.git
+ $ cd sisu
+ $ git fetch origin 2.1.1-selectable
+ $ git checkout 2.1.1-selectable
+ $ mvn clean install
## Getting Started ##
-The simplest way to use EMB is via the emb-booter. To do this, first add a dependency in your POM to emb-booter:
+The simplest way to use MAE is via the mae-booter. To do this, first add a dependency in your POM to mae-booter:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
@@ -14,35 +28,34 @@ The simplest way to use EMB is via the e
<version>1.0-SNAPSHOT</version>
<properties>
<mavenVersion>3.0-beta-2</mavenVersion>
- <embVersion>0.3-SNAPSHOT</embVersion>
</properties>
<dependencies>
<dependency>
- <groupId>org.commonjava.emb</groupId>
- <artifactId>emb-booter</artifactId>
- <version>${embVersion}</version>
+ <groupId>org.apache.maven.mae</groupId>
+ <artifactId>mae-booter</artifactId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
-Then, create a new EMBEmbedder instance, and use it to build a project:
+Then, create a new MAEEmbedder instance, and use it to build a project:
List<String> goals = new ArrayList<String>();
goals.add( "clean" );
goals.add( "install" );
- new EMBEmbedderBuilder().build().execute( new EMBExecutionRequest().setGoals( goals ) );
+ new MAEEmbedderBuilder().build().execute( new MAEExecutionRequest().setGoals( goals ) );
## Using Services ##
You can use allowed Maven components via the ServiceManager. For instance, to resolve an artifact:
- EMBEmbeder emb = new EMBEmbedderBuilder().build();
- emb.serviceManager().repositorySystem().resolve( artifact );
+ MAEEmbedder mae = new MAEEmbedderBuilder().build();
+ mae.serviceManager().repositorySystem().resolve( artifact );
Or, to build a set of MavenProject instances from POM files:
- EMBEmbeder emb = new EMBEmbedderBuilder().build();
+ MAEEmbedder mae = new MAEEmbedderBuilder().build();
ProjectBuildingRequest req = new DefaultProjectBuildingRequest()
.setSystemProperties( System.getProperties() )
@@ -50,11 +63,11 @@ Or, to build a set of MavenProject insta
.setForceUpdate( true )
.setProcessPlugins( false )
.setRepositoryCache( new InternalRepositoryCache() )
- .setLocalRepository( emb.serviceManager()
+ .setLocalRepository( mae.serviceManager()
.repositorySystem()
.createLocalRepository( new File( workDir, "local-repository" ) ) );
- List<ProjectBuildingResult> results = emb.serviceManager().projectBuilder().build( pomFiles, useReactor, req );
+ List<ProjectBuildingResult> results = mae.serviceManager().projectBuilder().build( pomFiles, useReactor, req );
List<MavenProject> projects = new ArrayList<MavenProject>( pomFiles.size() );
for ( final ProjectBuildingResult result : results )
Modified: maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml (original)
+++ maven/sandbox/trunk/mae/boms/mae-library-bom/pom.xml Fri Jul 29 22:54:19 2011
@@ -29,6 +29,11 @@
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>org.sonatype.sisu</groupId>
+ <artifactId>sisu-inject-plexus</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency>
<!-- <dependency>
<groupId>org.apache.maven.mae.event</groupId>
<artifactId>mae-event-api</artifactId>
Modified: maven/sandbox/trunk/mae/mae-api/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/pom.xml?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/pom.xml (original)
+++ maven/sandbox/trunk/mae/mae-api/pom.xml Fri Jul 29 22:54:19 2011
@@ -78,6 +78,16 @@
<version>1</version>
<scope>provided</scope>
</dependency>
+ <!-- <dependency>
+ <groupId>org.sonatype.sisu.inject</groupId>
+ <artifactId>guice-bean-locators</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency> -->
+ <dependency>
+ <groupId>org.sonatype.sisu</groupId>
+ <artifactId>sisu-inject-plexus</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/AbstractMAELibrary.java Fri Jul 29 22:54:19 2011
@@ -23,9 +23,9 @@ import org.apache.log4j.Logger;
import org.apache.maven.mae.conf.ext.ExtensionConfiguration;
import org.apache.maven.mae.conf.ext.ExtensionConfigurationException;
import org.apache.maven.mae.conf.ext.ExtensionConfigurationLoader;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
-import org.apache.maven.mae.internal.container.InstanceRegistry;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
+import org.sonatype.guice.bean.locators.InstanceRegistry;
import java.util.HashMap;
import java.util.HashSet;
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAEConfiguration.java Fri Jul 29 22:54:19 2011
@@ -21,10 +21,10 @@ package org.apache.maven.mae.conf;
import org.apache.maven.mae.MAEExecutionRequest;
import org.apache.maven.mae.conf.ext.ExtensionConfiguration;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
-import org.apache.maven.mae.internal.container.InstanceRegistry;
import org.apache.maven.mae.internal.container.ServiceAuthorizer;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
+import org.sonatype.guice.bean.locators.InstanceRegistry;
import java.io.File;
import java.io.InputStream;
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/conf/MAELibrary.java Fri Jul 29 22:54:19 2011
@@ -22,9 +22,9 @@ package org.apache.maven.mae.conf;
import org.apache.log4j.Logger;
import org.apache.maven.mae.conf.ext.ExtensionConfiguration;
import org.apache.maven.mae.conf.ext.ExtensionConfigurationException;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
-import org.apache.maven.mae.internal.container.InstanceRegistry;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
+import org.sonatype.guice.bean.locators.InstanceRegistry;
import java.util.Map;
import java.util.Set;
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java Fri Jul 29 22:54:19 2011
@@ -19,110 +19,32 @@
package org.apache.maven.mae.internal.container;
-import static org.codehaus.plexus.util.StringUtils.isBlank;
-
+/**
+ * Use {@link org.sonatype.guice.bean.locators.ComponentKey} instead.
+ */
+@Deprecated
public class ComponentKey<T>
+ extends org.sonatype.guice.bean.locators.ComponentKey<T>
{
- public static final String DEFAULT_HINT = "default".intern();
-
- public static final String LITERAL_SUFFIX = "_";
-
- private final Class<T> roleClass;
-
- private final String hint;
-
public ComponentKey( final Class<T> role, final String hint )
{
- roleClass = role;
- this.hint = isBlank( hint ) || DEFAULT_HINT.equals( hint ) ? DEFAULT_HINT : hint.intern();
+ super( role, hint );
}
public ComponentKey( final Class<T> role )
{
- roleClass = role;
- hint = DEFAULT_HINT;
- }
-
- public String getRole()
- {
- return roleClass.getName();
- }
-
- public String getHint()
- {
- return hint;
- }
-
- public String key()
- {
- return roleClass + ( DEFAULT_HINT.equals( hint ) ? "" : "#" + hint );
- }
-
- @Override
- public String toString()
- {
- return key();
- }
-
- @Override
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + hint.hashCode();
- result = prime * result + roleClass.getName().hashCode();
- return result;
- }
-
- @Override
- public boolean equals( final Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- if ( obj == null )
- {
- return false;
- }
- if ( getClass() != obj.getClass() )
- {
- return false;
- }
-
- final ComponentKey<?> other = ComponentKey.class.cast( obj );
- if ( !hint.equals( other.hint ) )
- {
- return false;
- }
-
- if ( !roleClass.getName().equals( other.roleClass.getName() ) )
- {
- return false;
- }
-
- return true;
- }
-
- public Class<T> getRoleClass()
- {
- return roleClass;
- }
-
- public T castValue( final Object instance )
- {
- return instance == null ? null : roleClass.cast( instance );
+ super( role );
}
public static boolean isLiteral( final String value )
{
- return value != null && value.length() > 1 && value.endsWith( LITERAL_SUFFIX );
+ return org.sonatype.guice.bean.locators.ComponentKey.isLiteral( value );
}
public static String getLiteralHint( final String value )
{
- return isLiteral( value ) ? value.substring( 0, value.length() - 1 ) : value;
+ return org.sonatype.guice.bean.locators.ComponentKey.getLiteralHint( value );
}
}
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java Fri Jul 29 22:54:19 2011
@@ -19,91 +19,11 @@
package org.apache.maven.mae.internal.container;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
+/**
+ * Use {@link org.sonatype.guice.bean.locators.ComponentSelector} instead.
+ */
+@Deprecated
public class ComponentSelector
+ extends org.sonatype.guice.bean.locators.ComponentSelector
{
-
- private Map<ComponentKey<?>, ComponentKey<?>> remappedComponentHints =
- new HashMap<ComponentKey<?>, ComponentKey<?>>();
-
- public ComponentSelector()
- {
- }
-
- public ComponentSelector merge( final ComponentSelector selectorToCopy )
- {
- if ( selectorToCopy != null && !selectorToCopy.isEmpty() )
- {
- final Map<ComponentKey<?>, ComponentKey<?>> result = new HashMap<ComponentKey<?>, ComponentKey<?>>();
- result.putAll( selectorToCopy.remappedComponentHints );
-
- if ( !remappedComponentHints.isEmpty() )
- {
- result.putAll( remappedComponentHints );
- }
-
- remappedComponentHints = result;
- }
-
- return this;
- }
-
- public boolean isEmpty()
- {
- return remappedComponentHints.isEmpty();
- }
-
- public <T> boolean hasOverride( final Class<T> role, final String hint )
- {
- final ComponentKey<T> check = new ComponentKey<T>( role, hint );
- return remappedComponentHints.containsKey( check );
- }
-
- public <T> boolean hasOverride( final Class<T> role )
- {
- final ComponentKey<T> check = new ComponentKey<T>( role );
- return remappedComponentHints.containsKey( check );
- }
-
- public Set<ComponentKey<?>> getKeysOverriddenBy( final Class<?> role, final String hint )
- {
- @SuppressWarnings( { "rawtypes", "unchecked" } )
- final ComponentKey check = new ComponentKey( role, hint );
-
- final Set<ComponentKey<?>> result = new HashSet<ComponentKey<?>>();
- for ( final Map.Entry<ComponentKey<?>, ComponentKey<?>> mapping : remappedComponentHints.entrySet() )
- {
- if ( mapping.getValue().equals( check ) )
- {
- result.add( mapping.getKey() );
- }
- }
-
- return result;
- }
-
- public <T> ComponentSelector setSelection( final ComponentKey<T> originalKey, final String newHint )
- {
- remappedComponentHints.put( originalKey, new ComponentKey<T>( originalKey.getRoleClass(), newHint ) );
- return this;
- }
-
- public <T> ComponentSelector setSelection( final Class<T> role, final String oldHint, final String newHint )
- {
- final ComponentKey<T> originalKey = new ComponentKey<T>( role, oldHint );
- remappedComponentHints.put( originalKey, new ComponentKey<T>( role, newHint ) );
- return this;
- }
-
- public <T> ComponentSelector setSelection( final Class<T> role, final String newHint )
- {
- final ComponentKey<T> originalKey = new ComponentKey<T>( role );
- remappedComponentHints.put( originalKey, new ComponentKey<T>( role, newHint ) );
- return this;
- }
-
}
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/InstanceRegistry.java Fri Jul 29 22:54:19 2011
@@ -19,182 +19,17 @@
package org.apache.maven.mae.internal.container;
-import java.util.HashMap;
-import java.util.Map;
-
+/**
+ * Use {@link org.sonatype.guice.bean.locators.InstanceRegistry} instead.
+ */
+@Deprecated
public class InstanceRegistry
+ extends org.sonatype.guice.bean.locators.InstanceRegistry
{
- private final Map<ComponentKey<?>, Object> instances = new HashMap<ComponentKey<?>, Object>();
-
- public InstanceRegistry()
- {
- }
-
public InstanceRegistry( final InstanceRegistry... delegates )
{
- if ( delegates != null && delegates.length > 0 )
- {
- for ( final InstanceRegistry delegate : delegates )
- {
- overrideMerge( delegate );
- }
- }
- }
-
- public boolean has( final ComponentKey<?> key )
- {
- if ( key == null )
- {
- return false;
- }
-
- return instances.containsKey( key );
- }
-
- public <T> boolean has( final Class<T> role, final String hint )
- {
- return has( new ComponentKey<T>( role, hint ) );
- }
-
- public <T> T get( final ComponentKey<T> key )
- {
- return key.castValue( instances.get( key ) );
- }
-
- public <T> T get( final Class<T> role, final String hint )
- {
- return get( new ComponentKey<T>( role, hint ) );
- }
-
- public <C, T extends C> InstanceRegistry add( final ComponentKey<C> key, final T instance )
- {
- if ( instance != null )
- {
- instances.put( key, instance );
- }
- return this;
- }
-
- public <C, T extends C> InstanceRegistry add( final Class<C> role, final String hint, final T instance )
- {
- if ( role == null )
- {
- throw new NullPointerException( "Role class is null." );
- }
-
- if ( instance == null )
- {
- throw new NullPointerException( "Instance is null." );
- }
-
- if ( !role.isAssignableFrom( instance.getClass() ) )
- {
- throw new IllegalArgumentException( "Instance class: " + instance.getClass().getName()
- + " is not assignable to role: " + role.getClass() );
- }
-
- return add( new ComponentKey<C>( role, hint ), instance );
- }
-
- public <C, T extends C> InstanceRegistry add( final Class<C> role, final T instance )
- {
- if ( role == null )
- {
- throw new NullPointerException( "Role class is null." );
- }
-
- if ( instance == null )
- {
- throw new NullPointerException( "Instance is null." );
- }
-
- if ( !role.isAssignableFrom( instance.getClass() ) )
- {
- throw new IllegalArgumentException( "Instance class: " + instance.getClass().getName()
- + " is not assignable to role: " + role.getClass() );
- }
-
- return add( new ComponentKey<C>( role ), instance );
- }
-
- @SuppressWarnings( { "unchecked", "rawtypes" } )
- public <C, T extends C> InstanceRegistry setVirtualInstance( final ComponentKey<C> key, final T instance )
- {
- final Object virt = instances.get( key );
- if ( virt != null && ( virt instanceof VirtualInstance ) )
- {
- final VirtualInstance vi = (VirtualInstance) virt;
- if ( vi.getVirtualClass().equals( key.getRoleClass() ) && vi.getRawInstance() == null )
- {
- vi.setInstance( instance );
- }
- }
-
- return this;
- }
-
- public <C, T extends C> InstanceRegistry setVirtualInstance( final Class<C> role, final String hint,
- final T instance )
- {
- return setVirtualInstance( new ComponentKey<C>( role, hint ), instance );
- }
-
- public <C, T extends C> InstanceRegistry setVirtualInstance( final Class<C> role, final T instance )
- {
- return setVirtualInstance( new ComponentKey<C>( role ), instance );
- }
-
- public <T> InstanceRegistry addVirtual( final ComponentKey<T> key, final VirtualInstance<T> virt )
- {
- instances.put( key, virt );
- return this;
- }
-
- public <T> InstanceRegistry addVirtual( final String hint, final VirtualInstance<T> instance )
- {
- if ( instance == null )
- {
- throw new NullPointerException( "Instance is null." );
- }
-
- return addVirtual( new ComponentKey<T>( instance.getVirtualClass(), hint ), instance );
+ super( delegates );
}
-
- public <T> InstanceRegistry addVirtual( final VirtualInstance<T> instance )
- {
- if ( instance == null )
- {
- throw new NullPointerException( "Instance is null." );
- }
-
- return addVirtual( new ComponentKey<T>( instance.getVirtualClass() ), instance );
- }
-
- public InstanceRegistry overrideMerge( final InstanceRegistry instanceRegistry )
- {
- if ( !instanceRegistry.instances.isEmpty() )
- {
- instances.putAll( instanceRegistry.instances );
- }
-
- return this;
- }
-
- public Map<ComponentKey<?>, Object> getInstances()
- {
- return instances;
- }
-
- @SuppressWarnings( "unchecked" )
- public <T> InstanceRegistry add( final T instance )
- {
- if ( instance == null )
- {
- throw new NullPointerException( "Instance is null." );
- }
-
- return add( new ComponentKey<T>( (Class<T>) instance.getClass() ), instance );
- }
-
+
}
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ServiceAuthorizer.java Fri Jul 29 22:54:19 2011
@@ -21,6 +21,8 @@ package org.apache.maven.mae.internal.co
import java.util.Set;
+import org.sonatype.guice.bean.locators.ComponentKey;
+
public class ServiceAuthorizer
{
Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/VirtualInstance.java Fri Jul 29 22:54:19 2011
@@ -19,50 +19,17 @@
package org.apache.maven.mae.internal.container;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-import com.google.inject.Provider;
-
+/**
+ * Use {@link org.sonatype.guice.bean.locators.VirtualInstance} instead.
+ */
+@Deprecated
public class VirtualInstance<T>
- implements Provider<T>
+ extends org.sonatype.guice.bean.locators.VirtualInstance<T>
{
- @Inject
- private Injector injector;
-
- private T instance;
-
- private final Class<T> virtualClass;
-
public VirtualInstance( final Class<T> virtualClass )
{
- this.virtualClass = virtualClass;
- }
-
- public void setInstance( final T instance )
- {
- this.instance = instance;
- }
-
- public Class<T> getVirtualClass()
- {
- return virtualClass;
- }
-
- public T getRawInstance()
- {
- return instance;
- }
-
- @Override
- public T get()
- {
- if ( injector != null && instance != null )
- {
- injector.injectMembers( instance );
- }
-
- return instance;
+ super( virtualClass );
}
}
Modified: maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java (original)
+++ maven/sandbox/trunk/mae/mae-api/src/test/java/org/apache/maven/mae/ComponentSelectorTest.java Fri Jul 29 22:54:19 2011
@@ -30,10 +30,10 @@ import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.spi.Configurator;
import org.apache.log4j.spi.LoggerRepository;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
import java.net.URL;
import java.util.Enumeration;
Modified: maven/sandbox/trunk/mae/mae-booter/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/pom.xml?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-booter/pom.xml (original)
+++ maven/sandbox/trunk/mae/mae-booter/pom.xml Fri Jul 29 22:54:19 2011
@@ -47,12 +47,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.apache.maven.mae</groupId>
- <artifactId>mae-container</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>compile</scope>
@@ -76,6 +70,16 @@
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
</dependency>
+ <!-- <dependency>
+ <groupId>org.sonatype.sisu.inject</groupId>
+ <artifactId>guice-plexus-shim</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency> -->
+ <dependency>
+ <groupId>org.sonatype.sisu</groupId>
+ <artifactId>sisu-inject-plexus</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency>
</dependencies>
<build>
Modified: maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/app/AbstractMAEApplication.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/app/AbstractMAEApplication.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/app/AbstractMAEApplication.java (original)
+++ maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/app/AbstractMAEApplication.java Fri Jul 29 22:54:19 2011
@@ -29,11 +29,11 @@ import org.apache.maven.mae.conf.Version
import org.apache.maven.mae.conf.ext.ExtensionConfiguration;
import org.apache.maven.mae.conf.ext.ExtensionConfigurationException;
import org.apache.maven.mae.conf.loader.InstanceLibraryLoader;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
-import org.apache.maven.mae.internal.container.InstanceRegistry;
-import org.apache.maven.mae.internal.container.VirtualInstance;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
+import org.sonatype.guice.bean.locators.InstanceRegistry;
+import org.sonatype.guice.bean.locators.VirtualInstance;
import java.util.ArrayList;
import java.util.List;
Modified: maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedder.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedder.java (original)
+++ maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedder.java Fri Jul 29 22:54:19 2011
@@ -43,8 +43,6 @@ import org.apache.maven.mae.conf.mgmt.Lo
import org.apache.maven.mae.conf.mgmt.LoadOnStart;
import org.apache.maven.mae.conf.mgmt.MAEManagementException;
import org.apache.maven.mae.conf.mgmt.MAEManagementView;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ExtrudablePlexusContainer;
import org.apache.maven.project.MavenProject;
import org.apache.maven.properties.internal.EnvironmentUtils;
import org.apache.maven.settings.Settings;
@@ -54,12 +52,14 @@ import org.apache.maven.settings.buildin
import org.apache.maven.settings.building.SettingsBuildingRequest;
import org.apache.maven.settings.building.SettingsBuildingResult;
import org.apache.maven.settings.building.SettingsProblem;
+import org.codehaus.plexus.ExtrudablePlexusContainer;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.StringUtils;
+import org.sonatype.guice.bean.locators.ComponentKey;
import org.sonatype.plexus.components.cipher.DefaultPlexusCipher;
import org.sonatype.plexus.components.cipher.PlexusCipherException;
import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
Modified: maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedderBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedderBuilder.java?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedderBuilder.java (original)
+++ maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/MAEEmbedderBuilder.java Fri Jul 29 22:54:19 2011
@@ -32,20 +32,20 @@ import org.apache.maven.mae.conf.MAEConf
import org.apache.maven.mae.conf.MAELibrary;
import org.apache.maven.mae.conf.loader.MAELibraryLoader;
import org.apache.maven.mae.conf.loader.ServiceLibraryLoader;
-import org.apache.maven.mae.internal.container.ComponentKey;
-import org.apache.maven.mae.internal.container.ComponentSelector;
-import org.apache.maven.mae.internal.container.InstanceRegistry;
-import org.apache.maven.mae.internal.container.MAEContainer;
-import org.apache.maven.mae.internal.container.ExtrudablePlexusContainer;
-import org.apache.maven.mae.internal.container.VirtualInstance;
import org.apache.maven.model.building.ModelProcessor;
import org.apache.maven.settings.building.SettingsBuilder;
import org.codehaus.plexus.ContainerConfiguration;
import org.codehaus.plexus.DefaultContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.ExtrudablePlexusContainer;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.classworlds.ClassWorld;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
+import org.sonatype.guice.bean.locators.ComponentKey;
+import org.sonatype.guice.bean.locators.ComponentSelector;
+import org.sonatype.guice.bean.locators.InstanceRegistry;
+import org.sonatype.guice.bean.locators.VirtualInstance;
import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
@@ -474,10 +474,10 @@ public class MAEEmbedderBuilder
final InstanceRegistry reg = new InstanceRegistry( instanceRegistry() );
reg.addVirtual( new ComponentKey<MAEEmbedder>( MAEEmbedder.class ), embVirtual );
- MAEContainer c;
+ DefaultPlexusContainer c;
try
{
- c = new MAEContainer( cc, selector(), reg );
+ c = new DefaultPlexusContainer( cc, selector(), reg );
}
catch ( final PlexusContainerException e )
{
Modified: maven/sandbox/trunk/mae/mae-components/mae-project-tools/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-components/mae-project-tools/pom.xml?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/mae-components/mae-project-tools/pom.xml (original)
+++ maven/sandbox/trunk/mae/mae-components/mae-project-tools/pom.xml Fri Jul 29 22:54:19 2011
@@ -71,5 +71,10 @@
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
+ <dependency>
+ <groupId>org.sonatype.sisu</groupId>
+ <artifactId>sisu-inject-plexus</artifactId>
+ <version>2.1.1-selectable-1-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
Modified: maven/sandbox/trunk/mae/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/pom.xml?rev=1152392&r1=1152391&r2=1152392&view=diff
==============================================================================
--- maven/sandbox/trunk/mae/pom.xml (original)
+++ maven/sandbox/trunk/mae/pom.xml Fri Jul 29 22:54:19 2011
@@ -74,7 +74,6 @@
<modules>
<module>boms</module>
<module>mae-api</module>
- <module>mae-container</module>
<module>mae-booter</module>
<module>mae-app</module>
<module>mae-prompter-cli</module>