Author: jvanzyl Date: Mon Oct 22 00:07:29 2007 New Revision: 587015 URL: http://svn.apache.org/viewvc?rev=587015&view=rev Log: o use the programmatic setup of the container o use the new active collections in Pleuxus
Modified: maven/components/trunk/build.properties maven/components/trunk/build.xml maven/components/trunk/maven-core/pom.xml maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/plexus.xml maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderProjectWithExtensionReadingTest.java maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml maven/components/trunk/pom.xml Modified: maven/components/trunk/build.properties URL: http://svn.apache.org/viewvc/maven/components/trunk/build.properties?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/build.properties (original) +++ maven/components/trunk/build.properties Mon Oct 22 00:07:29 2007 @@ -16,8 +16,7 @@ # under the License. classworlds.version=1.2-alpha-10 -plexus-active-collections.version=1.0-beta-1 -plexus.version=1.0-alpha-32 +plexus.version=1.0-alpha-34-SNAPSHOT plexus-utils.version=1.4.5 maven-artifact.version=3.0-SNAPSHOT commons-cli.version=1.0 Modified: maven/components/trunk/build.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/build.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/build.xml (original) +++ maven/components/trunk/build.xml Mon Oct 22 00:07:29 2007 @@ -116,7 +116,6 @@ </sequential> </macrodef> <pull orgpath="commons-cli/commons-cli" version="${commons-cli.version}" name="commons-cli"/> - <pull orgpath="org/codehaus/plexus/plexus-active-collections" version="${plexus-active-collections.version}" name="plexus-active-collections" repository="codehaus"/> <pull orgpath="org/codehaus/plexus/plexus-utils" version="${plexus-utils.version}" name="plexus-utils" repository="codehaus"/> <pull orgpath="org/codehaus/plexus/plexus-container-default" version="${plexus.version}" name="plexus-container-default" repository="codehaus"/> <pull orgpath="org/codehaus/plexus/plexus-classworlds" version="${classworlds.version}" name="plexus-classworlds" repository="codehaus"/> @@ -143,7 +142,6 @@ <path id="pre.classpath"> <pathelement location="${maven.repo.local}/commons-cli/commons-cli/${commons-cli.version}/commons-cli-${commons-cli.version}.jar"/> <pathelement location="${maven.repo.local}/commons-lang/commons-lang/${commons-lang.version}/commons-lang-${commons-lang.version}.jar"/> - <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-active-collections/${plexus-active-collections.version}/plexus-active-collections-${plexus-active-collections.version}.jar"/> <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-utils/${plexus-utils.version}/plexus-utils-${plexus-utils.version}.jar"/> <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-container-default/${plexus.version}/plexus-container-default-${plexus.version}.jar"/> <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-classworlds/${classworlds.version}/plexus-classworlds-${classworlds.version}.jar"/> Modified: maven/components/trunk/maven-core/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/pom.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/pom.xml (original) +++ maven/components/trunk/maven-core/pom.xml Mon Oct 22 00:07:29 2007 @@ -112,11 +112,6 @@ <artifactId>plexus-classworlds</artifactId> </dependency> <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-active-collections</artifactId> - <version>1.0-beta-1</version> - </dependency> - <dependency> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-file</artifactId> <version>1.0-beta-2</version> Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java Mon Oct 22 00:07:29 2007 @@ -20,7 +20,6 @@ import org.apache.maven.project.MavenProject; import org.apache.maven.reporting.MavenReport; import org.codehaus.plexus.classworlds.realm.ClassRealm; -import org.codehaus.plexus.collections.ActiveMap; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.logging.LogEnabled; import org.codehaus.plexus.logging.Logger; @@ -31,6 +30,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.StringTokenizer; /** @@ -44,10 +44,9 @@ public class DefaultLifecycleBindingManager implements LifecycleBindingManager, LogEnabled { + private Map bindingsByPackaging; - private ActiveMap bindingsByPackaging; - - private ActiveMap legacyMappingsByPackaging; + private Map legacyMappingsByPackaging; private PluginLoader pluginLoader; Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Mon Oct 22 00:07:29 2007 @@ -348,6 +348,7 @@ ClassRealm pluginRealm = null; MavenProjectSession projectSession; + try { projectSession = session.getProjectSession( project ); @@ -414,6 +415,7 @@ try { getLogger().debug( "Discovering components in realm: " + pluginRealm ); + container.discoverComponents( pluginRealm, false ); } catch ( PlexusConfigurationException e ) @@ -1423,9 +1425,8 @@ if ( pluginRealm == null ) { - getLogger().warn( - "getPluginComponent(" + plugin + ", " + role - + "): descriptor is missing classRealm" ); + getLogger().warn( "getPluginComponent(" + plugin + ", " + role + "): descriptor is missing classRealm" ); + pluginRealm = container.getLookupRealm(); } Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java Mon Oct 22 00:07:29 2007 @@ -33,10 +33,8 @@ import java.util.Set; public class MavenPluginCollector - extends AbstractLogEnabled implements ComponentDiscoveryListener { - private Set pluginsInProcess = new HashSet(); private Map pluginDescriptors = new HashMap(); @@ -56,13 +54,11 @@ // TODO: see comment in getPluginDescriptor String key = Plugin.constructKey( pluginDescriptor.getGroupId(), pluginDescriptor.getArtifactId() ); - + if ( !pluginsInProcess.contains( key ) ) { pluginsInProcess.add( key ); - getLogger().debug( this + ": Discovered plugin: " + key ); - pluginDescriptors.put( key, pluginDescriptor ); // TODO: throw an (not runtime) exception if there is a prefix overlap - means doing so elsewhere Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java Mon Oct 22 00:07:29 2007 @@ -27,7 +27,7 @@ import java.io.Reader; /** - * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a> + * @author Jason van Zyl * @author <a href="mailto:[EMAIL PROTECTED]">Trygve Laugstøl</a> * @version $Id$ */ Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml Mon Oct 22 00:07:29 2007 @@ -540,24 +540,6 @@ </component> <component> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>lifecycle-loaders-by-packaging</role-hint> - <implementation>org.codehaus.plexus.collections.DefaultActiveMap</implementation> - <configuration> - <role>org.apache.maven.lifecycle.LifecycleBindingLoader</role> - </configuration> - </component> - - <component> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>legacy-lifecycle-mappings-by-packaging</role-hint> - <implementation>org.codehaus.plexus.collections.DefaultActiveMap</implementation> - <configuration> - <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> - </configuration> - </component> - - <component> <role>org.apache.maven.plugin.loader.PluginLoader</role> <role-hint>default</role-hint> <implementation>org.apache.maven.plugin.loader.DefaultPluginLoader</implementation> @@ -586,13 +568,11 @@ <role>org.apache.maven.plugin.loader.PluginLoader</role> </requirement> <requirement> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>lifecycle-loaders-by-packaging</role-hint> + <role>org.apache.maven.lifecycle.LifecycleBindingLoader</role> <field-name>bindingsByPackaging</field-name> </requirement> <requirement> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>legacy-lifecycle-mappings-by-packaging</role-hint> + <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> <field-name>legacyMappingsByPackaging</field-name> </requirement> <requirement> Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/plexus.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/plexus.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/plexus.xml (original) +++ maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/plexus.xml Mon Oct 22 00:07:29 2007 @@ -18,16 +18,6 @@ --> <plexus> - <component-discoverer-manager implementation="org.codehaus.plexus.component.discovery.DefaultComponentDiscovererManager"> - <listeners> - <listener implementation="org.codehaus.plexus.component.discovery.DiscoveryListenerDescriptor"> - <role>org.apache.maven.plugin.MavenPluginCollector</role> - </listener> - </listeners> - <component-discoverers> - <component-discoverer implementation="org.apache.maven.plugin.MavenPluginDiscoverer"/> - </component-discoverers> - </component-discoverer-manager> <components> <component> <role>org.apache.maven.plugin.MavenPluginCollector</role> Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original) +++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Mon Oct 22 00:07:29 2007 @@ -45,6 +45,8 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.apache.maven.plugin.InvalidPluginException; +import org.apache.maven.plugin.MavenPluginCollector; +import org.apache.maven.plugin.MavenPluginDiscoverer; import org.apache.maven.plugin.PluginManager; import org.apache.maven.plugin.PluginManagerException; import org.apache.maven.plugin.PluginNotFoundException; @@ -329,11 +331,13 @@ try { PluginManager pluginManager = (PluginManager) container.lookup( PluginManager.ROLE ); + return pluginManager.getPluginComponents( plugin, ArtifactHandler.ROLE ); } catch ( ComponentLookupException e ) { getLogger().debug( "Unable to find the lifecycle component in the extension", e ); + return new HashMap(); } } @@ -395,7 +399,9 @@ try { - map.putAll( getPluginExtensionComponents( plugin ) ); + Map extensionComponents = getPluginExtensionComponents( plugin ); + + map.putAll( extensionComponents ); } catch ( PluginManagerException e ) { @@ -406,6 +412,7 @@ for ( Iterator j = map.values().iterator(); j.hasNext(); ) { ArtifactHandler handler = (ArtifactHandler) j.next(); + if ( project.getPackaging().equals( handler.getPackaging() ) ) { project.getArtifact().setArtifactHandler( handler ); @@ -425,9 +432,11 @@ throws ProjectBuildingException, ExtensionScanningException { getLogger().info( "Scanning for extensions: " + mavenProject ); + extensionScanner.scanForBuildExtensions( mavenProject, request.getLocalRepository(), request.getProfileManager(), new HashMap() ); getLogger().info( "Building MavenProject instance: " + mavenProject ); + return mavenProjectBuilder.build( mavenProject, request.getLocalRepository(), request.getProfileManager() ); } @@ -462,6 +471,9 @@ Map handlers = findArtifactTypeHandlers( project ); + //TODO: ok this is crappy, now there are active collections so when new artifact handlers + // enter the system they should be available. + artifactHandlerManager.addHandlers( handlers ); } catch ( MavenEmbedderException e ) @@ -484,7 +496,7 @@ return result; } - MavenProjectBuildingResult projectBuildingResult = null; + MavenProjectBuildingResult projectBuildingResult; try { @@ -633,7 +645,9 @@ try { - ContainerConfiguration cc = new DefaultContainerConfiguration() + ContainerConfiguration cc = new DefaultContainerConfiguration() + .addComponentDiscoverer( new MavenPluginDiscoverer() ) + .addComponentDiscoveryListener( new MavenPluginCollector() ) .setClassWorld( classWorld ).setParentContainer( configuration.getParentContainer() ).setName( "embedder" ); container = new DefaultPlexusContainer( cc ); 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=587015&r1=587014&r2=587015&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 Mon Oct 22 00:07:29 2007 @@ -49,8 +49,11 @@ throws PluginManagerException { Map toReturn = new HashMap(); + MyArtifactHandler handler = new MyArtifactHandler(); + toReturn.put( "mkleint", handler ); + return toReturn; } Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml Mon Oct 22 00:07:29 2007 @@ -43,7 +43,7 @@ </requirement> </requirements> </component> - + <component> <role>org.apache.maven.ArtifactFilterManager</role> <implementation>org.apache.maven.DefaultArtifactFilterManager</implementation> @@ -110,8 +110,8 @@ <role-hint>default</role-hint> </requirement> <requirement> - <role>org.apache.maven.artifact.manager.WagonManager</role> - <role-hint>default</role-hint> + <role>org.apache.maven.artifact.manager.WagonManager</role> + <role-hint>default</role-hint> </requirement> </requirements> </component> @@ -538,25 +538,7 @@ </requirement> </requirements> </component> - - <component> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>lifecycle-loaders-by-packaging</role-hint> - <implementation>org.codehaus.plexus.collections.DefaultActiveMap</implementation> - <configuration> - <role>org.apache.maven.lifecycle.LifecycleBindingLoader</role> - </configuration> - </component> - - <component> - <role>org.codehaus.plexus.collections.ActiveMap</role> - <role-hint>legacy-lifecycle-mappings-by-packaging</role-hint> - <implementation>org.codehaus.plexus.collections.DefaultActiveMap</implementation> - <configuration> - <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> - </configuration> - </component> - + <component> <role>org.apache.maven.plugin.loader.PluginLoader</role> <role-hint>default</role-hint> @@ -576,7 +558,7 @@ </requirement> </requirements> </component> - + <component> <role>org.apache.maven.lifecycle.binding.LifecycleBindingManager</role> <role-hint>default</role-hint> @@ -586,12 +568,10 @@ <role>org.apache.maven.plugin.loader.PluginLoader</role> </requirement> <requirement> - <role>org.codehaus.plexus.collections.ActiveMap</role> <role-hint>lifecycle-loaders-by-packaging</role-hint> <field-name>bindingsByPackaging</field-name> </requirement> <requirement> - <role>org.codehaus.plexus.collections.ActiveMap</role> <role-hint>legacy-lifecycle-mappings-by-packaging</role-hint> <field-name>legacyMappingsByPackaging</field-name> </requirement> @@ -675,7 +655,7 @@ <!-- END SNIPPET: default-reports --> </configuration> </component> - + <component> <role>org.apache.maven.lifecycle.plan.BuildPlanner</role> <role-hint>default</role-hint> @@ -692,7 +672,7 @@ </requirement> </requirements> </component> - + <component> <role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role> <role-hint>default</role-hint> @@ -703,7 +683,7 @@ </requirement> </requirements> </component> - + <component> <role>org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser</role> <role-hint>default</role-hint> @@ -714,6 +694,19 @@ </requirement> </requirements> </component> - + + <component> + <role>org.apache.maven.settings.validation.SettingsValidator</role> + <implementation>org.apache.maven.settings.validation.DefaultSettingsValidator</implementation> + </component> + <component> + <role>org.apache.maven.settings.MavenSettingsBuilder</role> + <implementation>org.apache.maven.settings.DefaultMavenSettingsBuilder</implementation> + <requirements> + <requirement> + <role>org.apache.maven.settings.validation.SettingsValidator</role> + </requirement> + </requirements> + </component> </components> </component-set> Modified: maven/components/trunk/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=587015&r1=587014&r2=587015&view=diff ============================================================================== --- maven/components/trunk/pom.xml (original) +++ maven/components/trunk/pom.xml Mon Oct 22 00:07:29 2007 @@ -131,7 +131,7 @@ <module>maven-embedder</module> </modules> <properties> - <plexusVersion>1.0-alpha-32</plexusVersion> + <plexusVersion>1.0-alpha-34-SNAPSHOT</plexusVersion> <wagonVersion>1.0-beta-2</wagonVersion> </properties> <dependencies> @@ -269,4 +269,4 @@ </profile> </profiles> -</project> \ No newline at end of file +</project>