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>