Author: jdcasey
Date: Tue Jul 19 16:27:24 2005
New Revision: 219807
URL: http://svn.apache.org/viewcvs?rev=219807&view=rev
Log:
Fixing bootstrap.
Added:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
(with props)
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
maven/components/trunk/maven-plugin-mapping/src/main/java/org/apache/maven/plugin/mapping/DefaultPluginMappingBuilder.java
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingInstallMojo.java
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
(original)
+++
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
Tue Jul 19 16:27:24 2005
@@ -6,9 +6,12 @@
import org.apache.maven.wagon.TransferFailedException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@@ -42,22 +45,9 @@
{
try
{
- File tempMetadataFile = File.createTempFile(
"plugins.xml", null );
-
try
{
- wagonManager.getRepositoryMetadata( metadata, remote,
tempMetadataFile );
-
- if ( !metadataFile.exists()
- || ( metadataFile.lastModified() <=
tempMetadataFile.lastModified() ) )
- {
- if ( !tempMetadataFile.renameTo( metadataFile ) )
- {
- FileUtils.copyFile( tempMetadataFile,
metadataFile );
-
- tempMetadataFile.delete();
- }
- }
+ wagonManager.getRepositoryMetadata( metadata, remote,
metadataFile );
}
catch ( ResourceDoesNotExistException e )
{
@@ -81,20 +71,43 @@
throw new RepositoryMetadataManagementException( metadata,
"Failed
to download repository metadata.", e );
}
- catch ( IOException e )
- {
- throw new RepositoryMetadataManagementException(
- metadata,
- "Error
constructing temporary metadata download file.",
- e );
- }
}
else
{
getLogger().info( "Using local copy of " + metadata + " from:
" + metadataFile );
}
- metadata.setFile( metadataFile );
+ if ( metadataFile.exists() )
+ {
+ if ( !verifyFileNotEmpty( metadataFile ) )
+ {
+ throw new InvalidRepositoryMetadataException( metadata,
"Metadata located in file: " + metadataFile + " appears to be corrupt (file is
empty). DOWNLOAD FAILED." );
+ }
+
+ cachedMetadata.put( metadata.getRepositoryPath(), metadataFile
);
+ }
+ }
+
+ metadata.setFile( metadataFile );
+ }
+
+ private boolean verifyFileNotEmpty( File metadataFile )
+ {
+ InputStream verifyInputStream = null;
+
+ try
+ {
+ verifyInputStream = new FileInputStream( metadataFile );
+
+ return verifyInputStream.available() > 0;
+ }
+ catch( IOException e )
+ {
+ return false;
+ }
+ finally
+ {
+ IOUtil.close( verifyInputStream );
}
}
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
(original)
+++
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
Tue Jul 19 16:27:24 2005
@@ -8,14 +8,14 @@
public RepositoryMetadataManagementException( RepositoryMetadata metadata,
String message, Throwable cause )
{
- super( "Failed to resolve repository metadata: " + metadata + ". Error
was: " + cause.getMessage(), cause );
+ super( "Failed to resolve repository metadata: " + metadata +
".\n\nOriginal message: " + message + "\n\nError was: " + cause.getMessage(),
cause );
this.metadata = metadata;
}
public RepositoryMetadataManagementException( RepositoryMetadata metadata,
String message )
{
- super( "Failed to resolve repository metadata: " + metadata + "." );
+ super( "Failed to resolve repository metadata: " + metadata +
".\n\nOriginal message: " + message );
this.metadata = metadata;
}
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=219807&r1=219806&r2=219807&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
Tue Jul 19 16:27:24 2005
@@ -27,7 +27,6 @@
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
-import org.apache.maven.artifact.resolver.filter.InversionArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
@@ -73,9 +72,12 @@
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
+import java.io.File;
import java.lang.reflect.Field;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -496,24 +498,18 @@
pluginDescriptor.setClassRealm(
pluginContainer.getContainerRealm() );
- // TODO: this is probably overkill as it is rarely used - can
we use a mojo tag to signal this will be
- // used or check its configuration? Also, when it is used,
perhaps it is more effecient to resolve
- // everything at once and apply the exclusion filter when
constructing the plugin container above.
- // Check this out with yourkit
- ArtifactFilter distroProvidedFilter = new
InversionArtifactFilter( artifactFilter );
+ List unresolved = new ArrayList( dependencies );
+
+ unresolved.removeAll( resolved );
+
+ resolveCoreArtifacts( unresolved );
+
+ List allResolved = new ArrayList( resolved.size() +
unresolved.size() );
+
+ allResolved.addAll( resolved );
+ allResolved.addAll( unresolved );
- ArtifactResolutionResult distroProvidedResult =
artifactResolver
- .resolveTransitively( dependencies, pluginArtifact,
localRepository, remoteRepositories,
- metadataSource, distroProvidedFilter
);
-
- Set distroProvided = distroProvidedResult.getArtifacts();
-
- List unfilteredArtifactList = new ArrayList( resolved.size() +
distroProvided.size() );
-
- unfilteredArtifactList.addAll( resolved );
- unfilteredArtifactList.addAll( distroProvided );
-
- pluginDescriptor.setArtifacts( unfilteredArtifactList );
+ pluginDescriptor.setArtifacts( allResolved );
}
catch ( ArtifactResolutionException e )
{
@@ -530,6 +526,41 @@
}
}
+ private Map resolvedCoreArtifactFiles = new HashMap();
+
+ private void resolveCoreArtifacts( List unresolved )
+ throws PluginConfigurationException
+ {
+ for ( Iterator it = unresolved.iterator(); it.hasNext(); )
+ {
+ Artifact artifact = (Artifact) it.next();
+
+ File artifactFile = (File) resolvedCoreArtifactFiles.get(
artifact.getId() );
+
+ if ( artifactFile == null )
+ {
+ String resource = "/META-INF/maven/" + artifact.getGroupId() +
"/" + artifact.getArtifactId() + "/pom.xml";
+
+ URL resourceUrl = container.getContainerRealm().getResource(
resource );
+
+ if ( resourceUrl == null )
+ {
+ throw new PluginConfigurationException( "Cannot resolve
core artifact: " + artifact.getId() );
+ }
+
+ String artifactPath = resourceUrl.getPath();
+
+ artifactPath = artifactPath.substring( 0,
artifactPath.length() - resource.length() );
+
+ artifactFile = new File( artifactPath );
+
+ resolvedCoreArtifactFiles.put( artifact.getId(), artifactFile
);
+ }
+
+ artifact.setFile( artifactFile );
+ }
+ }
+
private PlexusConfiguration extractMojoConfiguration( PlexusConfiguration
mergedConfiguration,
MojoDescriptor
mojoDescriptor )
{
@@ -905,6 +936,8 @@
artifacts.add( "maven-monitor" );
artifacts.add( "maven-plugin-api" );
artifacts.add( "maven-plugin-descriptor" );
+ artifacts.add( "maven-plugin-mapping" );
+ artifacts.add( "maven-plugin-registry" );
artifacts.add( "maven-project" );
artifacts.add( "maven-settings" );
artifacts.add( "plexus-container-default" );
Modified: maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/MBoot.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/MBoot.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/MBoot.java Tue Jul 19
16:27:24 2005
@@ -644,7 +644,7 @@
// Create JAR
//
----------------------------------------------------------------------
- createJar( classes, buildDir, reader );
+ createJar( new File( basedir, "pom.xml" ), classes, buildDir, reader );
installPom( basedir, localRepository, reader );
@@ -726,7 +726,7 @@
return cl;
}
- private void createJar( String classes, String buildDir, ModelReader
reader )
+ private void createJar( File pomFile, String classes, String buildDir,
ModelReader reader )
throws Exception
{
JarMojo jarMojo = new JarMojo();
@@ -759,8 +759,9 @@
p.store( os, "Generated by Maven" );
os.close(); // stream is flushed but not closed by Properties.store()
+
+ FileUtils.copyFile( pomFile, new File( pomPropertiesDir, "pom.xml" ) );
- //TODO: Add pom.xml
jarMojo.execute( new File( classes ), buildDir, artifactId + "-" +
version );
}
Modified:
maven/components/trunk/maven-plugin-mapping/src/main/java/org/apache/maven/plugin/mapping/DefaultPluginMappingBuilder.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-mapping/src/main/java/org/apache/maven/plugin/mapping/DefaultPluginMappingBuilder.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
---
maven/components/trunk/maven-plugin-mapping/src/main/java/org/apache/maven/plugin/mapping/DefaultPluginMappingBuilder.java
(original)
+++
maven/components/trunk/maven-plugin-mapping/src/main/java/org/apache/maven/plugin/mapping/DefaultPluginMappingBuilder.java
Tue Jul 19 16:27:24 2005
@@ -1,6 +1,7 @@
package org.apache.maven.plugin.mapping;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import
org.apache.maven.artifact.repository.metadata.InvalidRepositoryMetadataException;
import
org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
import org.apache.maven.plugin.mapping.io.xpp3.PluginMappingXpp3Reader;
@@ -107,6 +108,8 @@
private PluginMap readPluginMap( File mappingFile )
throws PluginMappingManagementException
{
+ PluginMap result = null;
+
if ( mappingFile.exists() )
{
Reader fileReader = null;
@@ -116,7 +119,7 @@
PluginMappingXpp3Reader mappingReader = new
PluginMappingXpp3Reader();
- return mappingReader.read( fileReader );
+ result = mappingReader.read( fileReader );
}
catch ( IOException e )
{
@@ -131,10 +134,8 @@
IOUtil.close( fileReader );
}
}
- else
- {
- return null;
- }
+
+ return result;
}
private File resolveMappingMetadata( String groupId, List
pluginRepositories, ArtifactRepository localRepository )
@@ -155,7 +156,16 @@
// reset this to keep it from getting in the way when we
succeed but not on first repo...
repositoryException = null;
- break;
+ File metadataFile = metadata.getFile();
+
+ if ( metadataFile != null && metadataFile.exists() )
+ {
+ break;
+ }
+ }
+ catch ( InvalidRepositoryMetadataException e )
+ {
+ repositoryMetadataManager.purgeLocalCopy( metadata,
localRepository );
}
catch ( RepositoryMetadataManagementException e )
{
Added:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java?rev=219807&view=auto
==============================================================================
---
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
(added)
+++
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
Tue Jul 19 16:27:24 2005
@@ -0,0 +1,325 @@
+package org.apache.maven.plugin.plugin.metadata;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
+import org.apache.maven.lifecycle.mapping.LifecycleMapping;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.mapping.MappedPlugin;
+import org.apache.maven.plugin.mapping.PluginMap;
+import org.apache.maven.plugin.mapping.io.xpp3.PluginMappingXpp3Reader;
+import org.apache.maven.plugin.mapping.io.xpp3.PluginMappingXpp3Writer;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.classworlds.ClassRealm;
+import org.codehaus.classworlds.ClassWorld;
+import org.codehaus.classworlds.DuplicateRealmException;
+import org.codehaus.plexus.component.discovery.ComponentDiscoverer;
+import org.codehaus.plexus.component.discovery.ComponentDiscovererManager;
+import org.codehaus.plexus.component.discovery.ComponentDiscoveryEvent;
+import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
+import org.codehaus.plexus.component.discovery.DefaultComponentDiscoverer;
+import org.codehaus.plexus.component.discovery.PlexusXmlComponentDiscoverer;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.codehaus.plexus.component.repository.ComponentSetDescriptor;
+import org.codehaus.plexus.configuration.PlexusConfigurationException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.DefaultContext;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public abstract class AbstractPluginMappingMojo
+ extends AbstractMojo
+{
+
+ /**
+ * @parameter
+ */
+ private String goalPrefix;
+
+ /**
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
+ /**
+ * @parameter expression="${project.build.outputDirectory}"
+ * @required
+ * @readonly
+ */
+ private String classesDirectory;
+
+ /**
+ * @parameter expression="${project.build.directory}/repository-metadata"
+ * @required
+ * @readonly
+ */
+ private String metadataOutputDirectory;
+
+ /**
+ * @parameter expression="${localRepository}"
+ * @required
+ * @readonly
+ */
+ private ArtifactRepository localRepository;
+
+ /**
+ * @parameter
expression="${component.org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager}"
+ * @required
+ * @readonly
+ */
+ private RepositoryMetadataManager repositoryMetadataManager;
+
+ protected RepositoryMetadataManager getRepositoryMetadataManager()
+ {
+ return repositoryMetadataManager;
+ }
+
+ protected ArtifactRepository getLocalRepository()
+ {
+ return localRepository;
+ }
+
+ protected MavenProject getProject()
+ {
+ return project;
+ }
+
+ protected boolean updatePluginMap( RepositoryMetadata metadata ) throws
MojoExecutionException
+ {
+ PluginMappingXpp3Reader mappingReader = new PluginMappingXpp3Reader();
+
+ PluginMap pluginMap = null;
+
+ File metadataFile = metadata.getFile();
+
+ if ( metadataFile != null && metadataFile.exists() )
+ {
+ Reader reader = null;
+
+ try
+ {
+ reader = new FileReader( metadataFile );
+
+ pluginMap = mappingReader.read( reader );
+ }
+ catch ( EOFException e )
+ {
+ getLog().warn( metadata + " located in: " + metadataFile + "
seems to be corrupt - OVERWRITING." );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Cannot read plugin-mapping
metadata from file: " + metadataFile, e );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new MojoExecutionException( "Cannot parse plugin-mapping
metadata from file: " + metadataFile, e );
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+ }
+
+ if ( pluginMap == null )
+ {
+ pluginMap = new PluginMap();
+
+ pluginMap.setGroupId( project.getGroupId() );
+ }
+
+ boolean shouldUpdate = true;
+
+ for ( Iterator it = pluginMap.getPlugins().iterator(); it.hasNext(); )
+ {
+ MappedPlugin preExisting = (MappedPlugin) it.next();
+
+ if ( preExisting.getArtifactId().equals( project.getArtifactId() )
)
+ {
+ getLog().info( "Plugin-mapping metadata for prefix: " +
project.getArtifactId() + " already exists. Skipping." );
+
+ shouldUpdate = false;
+ break;
+ }
+ }
+
+ if ( shouldUpdate )
+ {
+ MappedPlugin mappedPlugin = new MappedPlugin();
+
+ mappedPlugin.setArtifactId( project.getArtifactId() );
+
+ mappedPlugin.setPrefix( getGoalPrefix() );
+
+ mappedPlugin.setPackagingHandlers( extractPackagingHandlers() );
+
+ pluginMap.addPlugin( mappedPlugin );
+
+ Writer writer = null;
+ try
+ {
+ File generatedMetadataFile = new File(
metadataOutputDirectory, metadata.getRepositoryPath() );
+
+ File dir = generatedMetadataFile.getParentFile();
+
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ writer = new FileWriter( generatedMetadataFile );
+
+ PluginMappingXpp3Writer mappingWriter = new
PluginMappingXpp3Writer();
+
+ mappingWriter.write( writer, pluginMap );
+
+ metadata.setFile( generatedMetadataFile );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error writing repository
metadata to build directory.", e );
+ }
+ finally
+ {
+ IOUtil.close( writer );
+ }
+ }
+
+ return shouldUpdate;
+ }
+
+ private List extractPackagingHandlers()
+ throws MojoExecutionException
+ {
+ List packagingHandlers = new ArrayList();
+
+ Context ctx = new DefaultContext();
+
+ ClassWorld discoveryWorld = new ClassWorld();
+
+ try
+ {
+ ClassRealm discoveryRealm = discoveryWorld.newRealm(
"packageHandler-discovery" );
+
+ File classDir = new File( classesDirectory ).getAbsoluteFile();
+
+ discoveryRealm.addConstituent( classDir.toURL() );
+
+ packagingHandlers
+ .addAll( discoverLifecycleMappings( ctx, discoveryRealm, new
DefaultComponentDiscoverer() ) );
+
+ packagingHandlers.addAll( discoverLifecycleMappings( ctx,
discoveryRealm,
+ new
PlexusXmlComponentDiscoverer() ) );
+ }
+ catch ( DuplicateRealmException e )
+ {
+ throw new MojoExecutionException( "Error constructing class-realm
for lifecycle-mapping detection.", e );
+ }
+ catch ( MalformedURLException e )
+ {
+ throw new MojoExecutionException( "Error constructing class-realm
for lifecycle-mapping detection.", e );
+ }
+ catch ( PlexusConfigurationException e )
+ {
+ throw new MojoExecutionException( "Error detecting
lifecycle-mappings.", e );
+ }
+
+ return packagingHandlers;
+ }
+
+ private List discoverLifecycleMappings( Context ctx, ClassRealm
discoveryRealm, ComponentDiscoverer discoverer )
+ throws PlexusConfigurationException
+ {
+ discoverer.setManager( new DummyComponentDiscovererManager() );
+
+ List packagingHandlers = new ArrayList();
+
+ List componentSetDescriptors = discoverer.findComponents( ctx,
discoveryRealm );
+
+ if ( componentSetDescriptors != null )
+ {
+ for ( Iterator it = componentSetDescriptors.iterator();
it.hasNext(); )
+ {
+ ComponentSetDescriptor setDescriptor =
(ComponentSetDescriptor) it.next();
+
+ List components = setDescriptor.getComponents();
+
+ if ( components != null )
+ {
+ for ( Iterator componentIterator = components.iterator();
componentIterator.hasNext(); )
+ {
+ ComponentDescriptor descriptor = (ComponentDescriptor)
componentIterator.next();
+
+ if ( LifecycleMapping.ROLE.equals(
descriptor.getRole() ) )
+ {
+ packagingHandlers.add( descriptor.getRoleHint() );
+ }
+ }
+ }
+ }
+ }
+
+ return packagingHandlers;
+ }
+
+ private String getGoalPrefix()
+ {
+ if ( goalPrefix == null )
+ {
+ goalPrefix = PluginDescriptor.getGoalPrefixFromArtifactId(
project.getArtifactId() );
+ }
+
+ return goalPrefix;
+ }
+
+ public static class DummyComponentDiscovererManager
+ implements ComponentDiscovererManager
+ {
+
+ DummyComponentDiscovererManager()
+ {
+ }
+
+ public List getComponentDiscoverers()
+ {
+ return null;
+ }
+
+ public void registerComponentDiscoveryListener(
ComponentDiscoveryListener listener )
+ {
+ }
+
+ public void removeComponentDiscoveryListener(
ComponentDiscoveryListener listener )
+ {
+ }
+
+ public void fireComponentDiscoveryEvent( ComponentDiscoveryEvent event
)
+ {
+ }
+
+ public void initialize()
+ {
+ }
+
+ public List getListenerDescriptors()
+ {
+ return null;
+ }
+
+ }
+}
Propchange:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
---
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
(original)
+++
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
Tue Jul 19 16:27:24 2005
@@ -46,9 +46,12 @@
{
getRepositoryMetadataManager().resolve( metadata,
distributionRepository, getLocalRepository() );
- updatePluginMap( metadata );
+ boolean shouldUpdate = updatePluginMap( metadata );
- getRepositoryMetadataManager().deploy( metadata,
distributionRepository );
+ if ( shouldUpdate )
+ {
+ getRepositoryMetadataManager().deploy( metadata,
distributionRepository );
+ }
}
catch ( RepositoryMetadataManagementException e )
{
Modified:
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingInstallMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingInstallMojo.java?rev=219807&r1=219806&r2=219807&view=diff
==============================================================================
---
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingInstallMojo.java
(original)
+++
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingInstallMojo.java
Tue Jul 19 16:27:24 2005
@@ -1,5 +1,6 @@
package org.apache.maven.plugin.plugin.metadata;
+import
org.apache.maven.artifact.repository.metadata.InvalidRepositoryMetadataException;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import
org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
import org.apache.maven.plugin.MojoExecutionException;
@@ -20,11 +21,21 @@
try
{
- getRepositoryMetadataManager().resolveLocally( metadata,
getLocalRepository() );
+ try
+ {
+ getRepositoryMetadataManager().resolveLocally( metadata,
getLocalRepository() );
+ }
+ catch ( InvalidRepositoryMetadataException e )
+ {
+ getRepositoryMetadataManager().purgeLocalCopy( metadata,
getLocalRepository() );
+ }
- updatePluginMap( metadata );
+ boolean shouldUpdate = updatePluginMap( metadata );
- getRepositoryMetadataManager().install( metadata,
getLocalRepository() );
+ if ( shouldUpdate )
+ {
+ getRepositoryMetadataManager().install( metadata,
getLocalRepository() );
+ }
}
catch ( RepositoryMetadataManagementException e )
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]