mirror of https://github.com/apache/maven.git
[MNG-2228] put extensions in a child container. This guarantees separation avoiding root classloader pollution that was causing plugins such as the release plugin to fail when using wagon-webdav.
Merged from: r492068, maven-2.0.x branch git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@492071 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
51c6fefb31
commit
3d073bd7d3
|
@ -53,6 +53,7 @@ import org.codehaus.plexus.util.xml.Xpp3Dom;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -89,6 +90,9 @@ public class DefaultWagonManager
|
||||||
|
|
||||||
private boolean interactive = true;
|
private boolean interactive = true;
|
||||||
|
|
||||||
|
private Map availableWagons = new HashMap();
|
||||||
|
|
||||||
|
// TODO: this leaks the component in the public api - it is never released back to the container
|
||||||
public Wagon getWagon( Repository repository )
|
public Wagon getWagon( Repository repository )
|
||||||
throws UnsupportedProtocolException, WagonConfigurationException
|
throws UnsupportedProtocolException, WagonConfigurationException
|
||||||
{
|
{
|
||||||
|
@ -109,26 +113,39 @@ public class DefaultWagonManager
|
||||||
public Wagon getWagon( String protocol )
|
public Wagon getWagon( String protocol )
|
||||||
throws UnsupportedProtocolException
|
throws UnsupportedProtocolException
|
||||||
{
|
{
|
||||||
Wagon wagon;
|
PlexusContainer container = getWagonContainer( protocol );
|
||||||
|
|
||||||
|
Wagon wagon;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
wagon = (Wagon) container.lookup( Wagon.ROLE, protocol );
|
wagon = (Wagon) container.lookup( Wagon.ROLE, protocol );
|
||||||
wagon.setInteractive( interactive );
|
|
||||||
}
|
}
|
||||||
catch ( ComponentLookupException e )
|
catch ( ComponentLookupException e1 )
|
||||||
{
|
{
|
||||||
throw new UnsupportedProtocolException(
|
throw new UnsupportedProtocolException(
|
||||||
"Cannot find wagon which supports the requested protocol: " + protocol, e );
|
"Cannot find wagon which supports the requested protocol: " + protocol, e1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wagon.setInteractive( interactive );
|
||||||
|
|
||||||
return wagon;
|
return wagon;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putArtifact( File source, Artifact artifact, ArtifactRepository repository )
|
private PlexusContainer getWagonContainer( String protocol )
|
||||||
|
{
|
||||||
|
PlexusContainer container = this.container;
|
||||||
|
|
||||||
|
if ( availableWagons.containsKey( protocol ) )
|
||||||
|
{
|
||||||
|
container = (PlexusContainer) availableWagons.get( protocol );
|
||||||
|
}
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository )
|
||||||
throws TransferFailedException
|
throws TransferFailedException
|
||||||
{
|
{
|
||||||
putRemoteFile( repository, source, repository.pathOf( artifact ), downloadMonitor );
|
putRemoteFile( deploymentRepository, source, deploymentRepository.pathOf( artifact ), downloadMonitor );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putArtifactMetadata( File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository )
|
public void putArtifactMetadata( File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository )
|
||||||
|
@ -248,7 +265,7 @@ public class DefaultWagonManager
|
||||||
{
|
{
|
||||||
disconnectWagon( wagon );
|
disconnectWagon( wagon );
|
||||||
|
|
||||||
releaseWagon( wagon );
|
releaseWagon( protocol, wagon );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,8 +348,6 @@ public class DefaultWagonManager
|
||||||
|
|
||||||
failIfNotOnline();
|
failIfNotOnline();
|
||||||
|
|
||||||
Wagon wagon;
|
|
||||||
|
|
||||||
ArtifactRepository mirror = getMirror( repository.getId() );
|
ArtifactRepository mirror = getMirror( repository.getId() );
|
||||||
if ( mirror != null )
|
if ( mirror != null )
|
||||||
{
|
{
|
||||||
|
@ -342,6 +357,7 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
|
|
||||||
String protocol = repository.getProtocol();
|
String protocol = repository.getProtocol();
|
||||||
|
Wagon wagon;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
wagon = getWagon( protocol );
|
wagon = getWagon( protocol );
|
||||||
|
@ -507,7 +523,7 @@ public class DefaultWagonManager
|
||||||
{
|
{
|
||||||
disconnectWagon( wagon );
|
disconnectWagon( wagon );
|
||||||
|
|
||||||
releaseWagon( wagon );
|
releaseWagon( protocol, wagon );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( downloaded )
|
if ( downloaded )
|
||||||
|
@ -631,8 +647,9 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void releaseWagon( Wagon wagon )
|
private void releaseWagon( String protocol, Wagon wagon )
|
||||||
{
|
{
|
||||||
|
PlexusContainer container = getWagonContainer( protocol );
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
container.release( wagon );
|
container.release( wagon );
|
||||||
|
@ -765,6 +782,13 @@ public class DefaultWagonManager
|
||||||
this.interactive = interactive;
|
this.interactive = interactive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerWagons( Collection wagons, PlexusContainer extensionContainer )
|
||||||
|
{
|
||||||
|
for ( Iterator i = wagons.iterator(); i.hasNext(); )
|
||||||
|
{
|
||||||
|
availableWagons.put( i.next(), extensionContainer );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies the server configuration to the wagon
|
* Applies the server configuration to the wagon
|
||||||
|
|
|
@ -27,14 +27,16 @@ import org.apache.maven.wagon.authentication.AuthenticationInfo;
|
||||||
import org.apache.maven.wagon.events.TransferListener;
|
import org.apache.maven.wagon.events.TransferListener;
|
||||||
import org.apache.maven.wagon.proxy.ProxyInfo;
|
import org.apache.maven.wagon.proxy.ProxyInfo;
|
||||||
import org.apache.maven.wagon.repository.Repository;
|
import org.apache.maven.wagon.repository.Repository;
|
||||||
|
import org.codehaus.plexus.PlexusContainer;
|
||||||
import org.codehaus.plexus.util.xml.Xpp3Dom;
|
import org.codehaus.plexus.util.xml.Xpp3Dom;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages <a href="http://maven.apache.org/wagon">Wagon</a> related operations in Maven.
|
* Manages <a href="http://maven.apache.org/wagon">Wagon</a> related operations in Maven.
|
||||||
*
|
*
|
||||||
* @author <a href="michal.maczka@dimatics.com">Michal Maczka </a>
|
* @author <a href="michal.maczka@dimatics.com">Michal Maczka </a>
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
@ -45,12 +47,11 @@ public interface WagonManager
|
||||||
/**
|
/**
|
||||||
* Get a Wagon provider that understands the protocol passed as argument.
|
* Get a Wagon provider that understands the protocol passed as argument.
|
||||||
* It doesn't configure the Wagon.
|
* It doesn't configure the Wagon.
|
||||||
*
|
*
|
||||||
* @deprecated prone to errors. use {@link #getWagon(Repository)} instead.
|
|
||||||
*
|
|
||||||
* @param protocol the protocol the {@link Wagon} will handle
|
* @param protocol the protocol the {@link Wagon} will handle
|
||||||
* @return the {@link Wagon} instance able to handle the protocol provided
|
* @return the {@link Wagon} instance able to handle the protocol provided
|
||||||
* @throws UnsupportedProtocolException if there is no provider able to handle the protocol
|
* @throws UnsupportedProtocolException if there is no provider able to handle the protocol
|
||||||
|
* @deprecated prone to errors. use {@link #getWagon(Repository)} instead.
|
||||||
*/
|
*/
|
||||||
Wagon getWagon( String protocol )
|
Wagon getWagon( String protocol )
|
||||||
throws UnsupportedProtocolException;
|
throws UnsupportedProtocolException;
|
||||||
|
@ -58,11 +59,11 @@ public interface WagonManager
|
||||||
/**
|
/**
|
||||||
* Get a Wagon provider for the provided repository.
|
* Get a Wagon provider for the provided repository.
|
||||||
* It will configure the Wagon for that repository.
|
* It will configure the Wagon for that repository.
|
||||||
*
|
*
|
||||||
* @param repository the repository
|
* @param repository the repository
|
||||||
* @return the {@link Wagon} instance that can be used to connect to the repository
|
* @return the {@link Wagon} instance that can be used to connect to the repository
|
||||||
* @throws UnsupportedProtocolException if there is no provider able to handle the protocol
|
* @throws UnsupportedProtocolException if there is no provider able to handle the protocol
|
||||||
* @throws WagonConfigurationException if the wagon can't be configured for the repository
|
* @throws WagonConfigurationException if the wagon can't be configured for the repository
|
||||||
*/
|
*/
|
||||||
Wagon getWagon( Repository repository )
|
Wagon getWagon( Repository repository )
|
||||||
throws UnsupportedProtocolException, WagonConfigurationException;
|
throws UnsupportedProtocolException, WagonConfigurationException;
|
||||||
|
@ -82,9 +83,9 @@ public interface WagonManager
|
||||||
void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination,
|
void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination,
|
||||||
String checksumPolicy )
|
String checksumPolicy )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
void setOnline( boolean online );
|
void setOnline( boolean online );
|
||||||
|
|
||||||
boolean isOnline();
|
boolean isOnline();
|
||||||
|
|
||||||
void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts );
|
void addProxy( String protocol, String host, int port, String username, String password, String nonProxyHosts );
|
||||||
|
@ -103,12 +104,14 @@ public interface WagonManager
|
||||||
AuthenticationInfo getAuthenticationInfo( String id );
|
AuthenticationInfo getAuthenticationInfo( String id );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the configuration for a repository
|
* Set the configuration for a repository
|
||||||
*
|
*
|
||||||
* @param repositoryId id of the repository to set the configuration to
|
* @param repositoryId id of the repository to set the configuration to
|
||||||
* @param configuration dom tree of the xml with the configuration for the {@link Wagon}
|
* @param configuration dom tree of the xml with the configuration for the {@link Wagon}
|
||||||
*/
|
*/
|
||||||
void addConfiguration( String repositoryId, Xpp3Dom configuration );
|
void addConfiguration( String repositoryId, Xpp3Dom configuration );
|
||||||
|
|
||||||
void setInteractive( boolean interactive );
|
void setInteractive( boolean interactive );
|
||||||
|
|
||||||
|
void registerWagons( Collection wagons, PlexusContainer extensionContainer );
|
||||||
}
|
}
|
|
@ -19,6 +19,7 @@ package org.apache.maven.extension;
|
||||||
import org.apache.maven.MavenArtifactFilterManager;
|
import org.apache.maven.MavenArtifactFilterManager;
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
import org.apache.maven.artifact.ArtifactUtils;
|
import org.apache.maven.artifact.ArtifactUtils;
|
||||||
|
import org.apache.maven.artifact.manager.WagonManager;
|
||||||
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
|
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
|
||||||
|
@ -26,21 +27,21 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolver;
|
import org.apache.maven.artifact.resolver.ArtifactResolver;
|
||||||
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
||||||
import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
|
|
||||||
import org.apache.maven.model.Extension;
|
import org.apache.maven.model.Extension;
|
||||||
import org.apache.maven.plugin.PluginManager;
|
|
||||||
import org.apache.maven.project.MavenProject;
|
import org.apache.maven.project.MavenProject;
|
||||||
|
import org.apache.maven.wagon.Wagon;
|
||||||
import org.codehaus.plexus.PlexusConstants;
|
import org.codehaus.plexus.PlexusConstants;
|
||||||
import org.codehaus.plexus.PlexusContainer;
|
import org.codehaus.plexus.PlexusContainer;
|
||||||
import org.codehaus.plexus.PlexusContainerException;
|
import org.codehaus.plexus.PlexusContainerException;
|
||||||
|
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
|
||||||
import org.codehaus.plexus.context.Context;
|
import org.codehaus.plexus.context.Context;
|
||||||
import org.codehaus.plexus.context.ContextException;
|
import org.codehaus.plexus.context.ContextException;
|
||||||
|
import org.codehaus.plexus.logging.AbstractLogEnabled;
|
||||||
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
|
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.Map;
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to locate extensions.
|
* Used to locate extensions.
|
||||||
|
@ -50,6 +51,7 @@ import java.util.ArrayList;
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public class DefaultExtensionManager
|
public class DefaultExtensionManager
|
||||||
|
extends AbstractLogEnabled
|
||||||
implements ExtensionManager, Contextualizable
|
implements ExtensionManager, Contextualizable
|
||||||
{
|
{
|
||||||
private ArtifactResolver artifactResolver;
|
private ArtifactResolver artifactResolver;
|
||||||
|
@ -58,15 +60,19 @@ public class DefaultExtensionManager
|
||||||
|
|
||||||
private PlexusContainer container;
|
private PlexusContainer container;
|
||||||
|
|
||||||
private PluginManager pluginManager;
|
|
||||||
|
|
||||||
private ArtifactFilter artifactFilter = MavenArtifactFilterManager.createStandardFilter();
|
private ArtifactFilter artifactFilter = MavenArtifactFilterManager.createStandardFilter();
|
||||||
|
|
||||||
|
private WagonManager wagonManager;
|
||||||
|
|
||||||
|
private static final String CONTAINER_NAME = "extensions";
|
||||||
|
|
||||||
public void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
|
public void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException
|
throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
String extensionId = ArtifactUtils.versionlessKey( extension.getGroupId(), extension.getArtifactId() );
|
String extensionId = ArtifactUtils.versionlessKey( extension.getGroupId(), extension.getArtifactId() );
|
||||||
|
|
||||||
|
getLogger().debug( "Initialising extension: " + extensionId );
|
||||||
|
|
||||||
Artifact artifact = (Artifact) project.getExtensionArtifactMap().get( extensionId );
|
Artifact artifact = (Artifact) project.getExtensionArtifactMap().get( extensionId );
|
||||||
|
|
||||||
if ( artifact != null )
|
if ( artifact != null )
|
||||||
|
@ -79,21 +85,53 @@ public class DefaultExtensionManager
|
||||||
project.getRemoteArtifactRepositories(),
|
project.getRemoteArtifactRepositories(),
|
||||||
artifactMetadataSource, filter );
|
artifactMetadataSource, filter );
|
||||||
|
|
||||||
List excludedArtifacts = new ArrayList( result.getArtifacts().size() );
|
// create a child container for the extension
|
||||||
|
// TODO: this could surely be simpler/different on trunk with the new classworlds
|
||||||
|
PlexusContainer extensionContainer = getExtensionContainer();
|
||||||
|
if ( extensionContainer == null )
|
||||||
|
{
|
||||||
|
extensionContainer = container.createChildContainer( CONTAINER_NAME,
|
||||||
|
Collections.singletonList( artifact.getFile() ),
|
||||||
|
Collections.EMPTY_MAP );
|
||||||
|
}
|
||||||
|
|
||||||
for ( Iterator i = result.getArtifacts().iterator(); i.hasNext(); )
|
for ( Iterator i = result.getArtifacts().iterator(); i.hasNext(); )
|
||||||
{
|
{
|
||||||
Artifact a = (Artifact) i.next();
|
Artifact a = (Artifact) i.next();
|
||||||
|
|
||||||
excludedArtifacts.add( ArtifactUtils.versionlessKey( a ) );
|
|
||||||
|
|
||||||
a = project.replaceWithActiveArtifact( a );
|
a = project.replaceWithActiveArtifact( a );
|
||||||
|
|
||||||
container.addJarResource( a.getFile() );
|
getLogger().debug( "Adding to extension classpath: " + a.getFile() );
|
||||||
|
|
||||||
|
extensionContainer.addJarResource( a.getFile() );
|
||||||
}
|
}
|
||||||
pluginManager.addToArtifactFilter( new ExcludesArtifactFilter( excludedArtifacts ) );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerWagons()
|
||||||
|
{
|
||||||
|
PlexusContainer extensionContainer = getExtensionContainer();
|
||||||
|
if ( extensionContainer != null )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Map wagons = extensionContainer.lookupMap( Wagon.ROLE );
|
||||||
|
wagonManager.registerWagons( wagons.keySet(), extensionContainer );
|
||||||
|
}
|
||||||
|
catch ( ComponentLookupException e )
|
||||||
|
{
|
||||||
|
// now wagons found in the extension
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlexusContainer getExtensionContainer()
|
||||||
|
{
|
||||||
|
// note: ideally extensions would live in their own realm, but this would mean that things like wagon-scm would
|
||||||
|
// have no way to obtain SCM extensions
|
||||||
|
return container.getChildContainer( CONTAINER_NAME );
|
||||||
|
}
|
||||||
|
|
||||||
public void contextualize( Context context )
|
public void contextualize( Context context )
|
||||||
throws ContextException
|
throws ContextException
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,4 +33,6 @@ public interface ExtensionManager
|
||||||
{
|
{
|
||||||
void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
|
void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, PlexusContainerException, ArtifactNotFoundException;
|
||||||
|
|
||||||
|
void registerWagons();
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,6 +168,8 @@ public class DefaultLifecycleExecutor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extensionManager.registerWagons();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Map handlers = findArtifactTypeHandlers( project, session.getSettings(), session.getLocalRepository() );
|
Map handlers = findArtifactTypeHandlers( project, session.getSettings(), session.getLocalRepository() );
|
||||||
|
|
|
@ -1198,12 +1198,4 @@ public class DefaultPluginManager
|
||||||
{
|
{
|
||||||
return container.lookupMap( role );
|
return container.lookupMap( role );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addToArtifactFilter( ArtifactFilter filter )
|
|
||||||
{
|
|
||||||
AndArtifactFilter newFilter = new AndArtifactFilter();
|
|
||||||
newFilter.add( filter );
|
|
||||||
newFilter.add( artifactFilter );
|
|
||||||
artifactFilter = newFilter;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,6 @@ package org.apache.maven.plugin;
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
|
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||||
import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
|
|
||||||
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
|
|
||||||
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
|
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
|
||||||
import org.apache.maven.execution.MavenSession;
|
import org.apache.maven.execution.MavenSession;
|
||||||
import org.apache.maven.model.Plugin;
|
import org.apache.maven.model.Plugin;
|
||||||
|
@ -73,5 +71,4 @@ public interface PluginManager
|
||||||
Map getPluginComponents( Plugin plugin, String role )
|
Map getPluginComponents( Plugin plugin, String role )
|
||||||
throws ComponentLookupException, PluginManagerException;
|
throws ComponentLookupException, PluginManagerException;
|
||||||
|
|
||||||
void addToArtifactFilter( ArtifactFilter filter );
|
|
||||||
}
|
}
|
|
@ -45,7 +45,7 @@
|
||||||
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
|
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
|
||||||
</requirement>
|
</requirement>
|
||||||
<requirement>
|
<requirement>
|
||||||
<role>org.apache.maven.plugin.PluginManager</role>
|
<role>org.apache.maven.artifact.manager.WagonManager</role>
|
||||||
</requirement>
|
</requirement>
|
||||||
</requirements>
|
</requirements>
|
||||||
</component>
|
</component>
|
||||||
|
@ -328,7 +328,8 @@
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
||||||
<process-test-resources>
|
<process-test-resources>
|
||||||
org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
|
org.apache.maven.plugins:maven-resources-plugin:testResources
|
||||||
|
</process-test-resources>
|
||||||
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
||||||
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
||||||
<package>
|
<package>
|
||||||
|
@ -357,7 +358,8 @@
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
||||||
<process-test-resources>
|
<process-test-resources>
|
||||||
org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
|
org.apache.maven.plugins:maven-resources-plugin:testResources
|
||||||
|
</process-test-resources>
|
||||||
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
||||||
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
||||||
<package>
|
<package>
|
||||||
|
@ -391,7 +393,8 @@
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
||||||
<process-test-resources>
|
<process-test-resources>
|
||||||
org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
|
org.apache.maven.plugins:maven-resources-plugin:testResources
|
||||||
|
</process-test-resources>
|
||||||
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
||||||
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
||||||
<package>
|
<package>
|
||||||
|
@ -419,7 +422,8 @@
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
||||||
<process-test-resources>
|
<process-test-resources>
|
||||||
org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
|
org.apache.maven.plugins:maven-resources-plugin:testResources
|
||||||
|
</process-test-resources>
|
||||||
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
||||||
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
||||||
<package>org.apache.maven.plugins:maven-war-plugin:war</package>
|
<package>org.apache.maven.plugins:maven-war-plugin:war</package>
|
||||||
|
@ -443,7 +447,8 @@
|
||||||
<!-- START SNIPPET: ear-lifecycle -->
|
<!-- START SNIPPET: ear-lifecycle -->
|
||||||
<phases>
|
<phases>
|
||||||
<generate-resources>
|
<generate-resources>
|
||||||
org.apache.maven.plugins:maven-ear-plugin:generate-application-xml</generate-resources>
|
org.apache.maven.plugins:maven-ear-plugin:generate-application-xml
|
||||||
|
</generate-resources>
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<package>org.apache.maven.plugins:maven-ear-plugin:ear</package>
|
<package>org.apache.maven.plugins:maven-ear-plugin:ear</package>
|
||||||
<install>org.apache.maven.plugins:maven-install-plugin:install</install>
|
<install>org.apache.maven.plugins:maven-install-plugin:install</install>
|
||||||
|
@ -468,7 +473,8 @@
|
||||||
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
|
||||||
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
|
||||||
<process-test-resources>
|
<process-test-resources>
|
||||||
org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
|
org.apache.maven.plugins:maven-resources-plugin:testResources
|
||||||
|
</process-test-resources>
|
||||||
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
|
||||||
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
|
||||||
<package>org.apache.maven.plugins:maven-rar-plugin:rar</package>
|
<package>org.apache.maven.plugins:maven-rar-plugin:rar</package>
|
||||||
|
@ -480,7 +486,7 @@
|
||||||
</lifecycles>
|
</lifecycles>
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|
||||||
<component>
|
<component>
|
||||||
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
|
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
|
||||||
<role-hint>par</role-hint>
|
<role-hint>par</role-hint>
|
||||||
|
@ -502,7 +508,7 @@
|
||||||
<!-- END SNIPPET: par-lifecycle -->
|
<!-- END SNIPPET: par-lifecycle -->
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|
||||||
<component>
|
<component>
|
||||||
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
|
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
|
||||||
<role-hint>ejb3</role-hint>
|
<role-hint>ejb3</role-hint>
|
||||||
|
@ -524,7 +530,7 @@
|
||||||
<!-- END SNIPPET: ejb3-lifecycle -->
|
<!-- END SNIPPET: ejb3-lifecycle -->
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
|
|
||||||
<component>
|
<component>
|
||||||
<role>org.apache.maven.plugin.version.PluginVersionManager</role>
|
<role>org.apache.maven.plugin.version.PluginVersionManager</role>
|
||||||
<role-hint>default</role-hint>
|
<role-hint>default</role-hint>
|
||||||
|
|
Loading…
Reference in New Issue