You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/08/29 08:38:21 UTC
svn commit: r264091 - in /maven/components/trunk:
maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/
maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/
maven-artifact-manager/src/main/java/org/apache/maven/art...
Author: brett
Date: Sun Aug 28 23:37:33 2005
New Revision: 264091
URL: http://svn.apache.org/viewcvs?rev=264091&view=rev
Log:
PR: MNG-613
reorganise in preparation for generalised repository metadata
Added:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java (with props)
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java (contents, props changed)
- copied, changed from r240415, maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java (contents, props changed)
- copied, changed from r240415, maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java (with props)
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java (with props)
maven/components/trunk/maven-repository-metadata/
- copied from r240174, maven/components/trunk/maven-plugin-mapping/
maven/components/trunk/maven-repository-metadata/pom.xml
- copied, changed from r264090, maven/components/trunk/maven-plugin-mapping/pom.xml
maven/components/trunk/maven-repository-metadata/src/
- copied from r264090, maven/components/trunk/maven-plugin-mapping/src/
maven/components/trunk/maven-repository-metadata/src/main/mdo/metadata.mdo
- copied, changed from r240396, maven/components/trunk/maven-plugin-mapping/src/main/mdo/plugins.mdo
Removed:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
maven/components/trunk/maven-repository-metadata/src/main/java/
maven/components/trunk/maven-repository-metadata/src/main/resources/
maven/components/trunk/maven-repository-metadata/src/test/
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
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/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
maven/components/trunk/maven-core/pom.xml
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
maven/components/trunk/maven-plugins/maven-plugin-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.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
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java Sun Aug 28 23:37:33 2005
@@ -73,7 +73,7 @@
ArtifactMetadata metadata = (ArtifactMetadata) i.next();
metadata.storeInLocalRepository( localRepository );
// TODO: shouldn't need to calculate this
- File f = new File( localRepository.getBasedir(), localRepository.pathOfMetadata( metadata ) );
+ File f = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( metadata ) );
wagonManager.putArtifactMetadata( f, metadata, deploymentRepository );
}
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Sun Aug 28 23:37:33 2005
@@ -96,7 +96,7 @@
throws TransferFailedException
{
getLogger().info( "Uploading " + artifactMetadata );
- putRemoteFile( repository, source, repository.pathOfMetadata( artifactMetadata ), null );
+ putRemoteFile( repository, source, repository.pathOfArtifactMetadata( artifactMetadata ), null );
}
public void putRepositoryMetadata( File source, RepositoryMetadata metadata, ArtifactRepository repository )
@@ -104,7 +104,7 @@
{
getLogger().info( "Uploading " + metadata );
- putRemoteFile( repository, source, repository.formatAsFile( metadata.getRepositoryPath() ), null );
+ putRemoteFile( repository, source, repository.pathOfRepositoryMetadata( metadata ), null );
}
private void putRemoteFile( ArtifactRepository repository, File source, String remotePath,
@@ -257,7 +257,7 @@
String checksumPolicy )
throws TransferFailedException, ResourceDoesNotExistException
{
- String remotePath = repository.pathOfMetadata( metadata );
+ String remotePath = repository.pathOfArtifactMetadata( metadata );
getLogger().info( "Retrieving " + metadata );
getRemoteFile( repository, destination, remotePath, null, checksumPolicy );
@@ -267,7 +267,7 @@
File destination )
throws TransferFailedException, ResourceDoesNotExistException
{
- String remotePath = remoteRepository.formatAsFile( metadata.getRepositoryPath() );
+ String remotePath = remoteRepository.pathOfRepositoryMetadata( metadata );
getLogger().info( "Retrieving " + metadata );
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java Sun Aug 28 23:37:33 2005
@@ -48,7 +48,7 @@
protected File getLocalRepositoryLocation( ArtifactRepository localRepository )
{
- return new File( localRepository.getBasedir(), localRepository.pathOfMetadata( this ) );
+ return new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( this ) );
}
private void readFromFile( File file )
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Sun Aug 28 23:37:33 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.apache.maven.wagon.repository.Repository;
/**
@@ -76,19 +77,14 @@
return layout.pathOf( artifact );
}
- public String pathOfMetadata( ArtifactMetadata artifactMetadata )
+ public String pathOfArtifactMetadata( ArtifactMetadata artifactMetadata )
{
- return layout.pathOfMetadata( artifactMetadata );
+ return layout.pathOfArtifactMetadata( artifactMetadata );
}
- public String formatAsDirectory( String directory )
+ public String pathOfRepositoryMetadata( RepositoryMetadata metadata )
{
- return layout.formatAsDirectory( directory );
- }
-
- public String formatAsFile( String file )
- {
- return layout.formatAsFile( file );
+ return layout.pathOfRepositoryMetadata( metadata );
}
public ArtifactRepositoryLayout getLayout()
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=264091&r1=264090&r2=264091&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 Sun Aug 28 23:37:33 2005
@@ -31,11 +31,14 @@
import java.util.HashMap;
import java.util.Map;
+/**
+ * @todo try to crop all, particularly plugin stuff
+ * @todo check caching?
+ */
public class DefaultRepositoryMetadataManager
extends AbstractLogEnabled
implements RepositoryMetadataManager
{
-
// component requirement
private WagonManager wagonManager;
@@ -105,8 +108,6 @@
cachedMetadata.put( metadata.getRepositoryPath(), metadataFile );
}
}
-
- metadata.setFile( metadataFile );
}
private boolean verifyFileNotEmpty( File metadataFile )
@@ -129,16 +130,12 @@
}
}
- public void deploy( RepositoryMetadata metadata, ArtifactRepository remote )
+ public void deploy( File source, RepositoryMetadata metadata, ArtifactRepository remote )
throws RepositoryMetadataManagementException
{
- File metadataFile = metadata.getFile();
-
try
{
- wagonManager.putRepositoryMetadata( metadataFile, metadata, remote );
-
- metadata.setFile( metadataFile );
+ wagonManager.putRepositoryMetadata( source, metadata, remote );
}
catch ( TransferFailedException e )
{
@@ -147,7 +144,7 @@
}
- public void install( RepositoryMetadata metadata, ArtifactRepository local )
+ public void install( File source, RepositoryMetadata metadata, ArtifactRepository local )
throws RepositoryMetadataManagementException
{
File metadataFile = constructLocalRepositoryFile( metadata, local );
@@ -161,7 +158,7 @@
dir.mkdirs();
}
- FileUtils.copyFile( metadata.getFile(), metadataFile );
+ FileUtils.copyFile( source, metadataFile );
}
catch ( IOException e )
{
@@ -185,13 +182,9 @@
}
}
- private File constructLocalRepositoryFile( RepositoryMetadata metadata, ArtifactRepository local )
+ private static File constructLocalRepositoryFile( RepositoryMetadata metadata, ArtifactRepository local )
{
- String metadataPath = local.formatAsFile( metadata.getRepositoryPath() );
-
- metadataPath = metadataPath.replace( File.separatorChar, '/' );
-
- return new File( local.getBasedir(), metadataPath );
+ return new File( local.getBasedir(), local.pathOfRepositoryMetadata( metadata ) );
}
}
Added: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java?rev=264091&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java (added)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java Sun Aug 28 23:37:33 2005
@@ -0,0 +1,48 @@
+package org.apache.maven.artifact.repository.metadata;
+
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+
+public class PluginMappingMetadata
+ implements RepositoryMetadata
+{
+ private static final String PLUGIN_MAPPING_FILE = "plugins.xml";
+
+ private final String groupId;
+
+ /**
+ * @todo REMOVE!
+ */
+ private File metadataFile;
+
+ public PluginMappingMetadata( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ public String getRepositoryPath()
+ {
+ return groupId + "/" + PLUGIN_MAPPING_FILE;
+ }
+
+ public String toString()
+ {
+ return PLUGIN_MAPPING_FILE + " (plugin mappings) for group: \'" + groupId + "\'";
+ }
+
+}
Propchange: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/PluginMappingMetadata.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/resources/META-INF/plexus/components.xml Sun Aug 28 23:37:33 2005
@@ -36,7 +36,7 @@
</requirement>
</requirements>
</component>
-
+
<component>
<role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
<role-hint>latest</role-hint>
@@ -47,12 +47,12 @@
</requirement>
</requirements>
</component>
-
+
<!--
- |
- | ArtifactTransformationManager
- |
- -->
+ |
+ | ArtifactTransformationManager
+ |
+ -->
<component>
<role>org.apache.maven.artifact.transform.ArtifactTransformationManager</role>
<implementation>org.apache.maven.artifact.transform.DefaultArtifactTransformationManager</implementation>
@@ -131,4 +131,15 @@
<implementation>org.apache.maven.artifact.repository.DefaultArtifactRepositoryFactory</implementation>
</component>
</components>
+
+ <component>
+ <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataBuilder</role>
+ <role-hint>default</role-hint>
+ <implementation>org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataBuilder</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
+ </requirement>
+ </requirements>
+ </component>
</component-set>
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java Sun Aug 28 23:37:33 2005
@@ -17,8 +17,9 @@
*/
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
/**
* Specifies the repository used for artifact handling.
@@ -28,14 +29,11 @@
*/
public interface ArtifactRepository
{
-
String pathOf( Artifact artifact );
- String pathOfMetadata( ArtifactMetadata artifactMetadata );
-
- String formatAsDirectory( String directory );
+ String pathOfArtifactMetadata( ArtifactMetadata artifactMetadata );
- String formatAsFile( String file );
+ String pathOfRepositoryMetadata( RepositoryMetadata metadata );
String getUrl();
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java Sun Aug 28 23:37:33 2005
@@ -18,6 +18,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
/**
* @author jdcasey
@@ -29,9 +30,7 @@
String pathOf( Artifact artifact );
- String pathOfMetadata( ArtifactMetadata metadata );
+ String pathOfArtifactMetadata( ArtifactMetadata metadata );
- String formatAsDirectory( String directory );
-
- String formatAsFile( String file );
+ String pathOfRepositoryMetadata( RepositoryMetadata metadata );
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java Sun Aug 28 23:37:33 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
/**
* @author jdcasey
@@ -26,6 +27,11 @@
public class DefaultRepositoryLayout
implements ArtifactRepositoryLayout
{
+ private static final char PATH_SEPARATOR = '/';
+
+ private static final char GROUP_SEPARATOR = '.';
+
+ private static final char ARTIFACT_SEPARATOR = '-';
public String pathOf( Artifact artifact )
{
@@ -33,33 +39,33 @@
StringBuffer path = new StringBuffer();
- path.append( formatAsDirectory( artifact.getGroupId() ) ).append( '/' );
- path.append( artifact.getArtifactId() ).append( '/' );
- path.append( artifact.getBaseVersion() ).append( '/' );
- path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
+ path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );
+ path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );
+ path.append( artifact.getBaseVersion() ).append( PATH_SEPARATOR );
+ path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
if ( artifact.hasClassifier() )
{
- path.append( '-' ).append( artifact.getClassifier() );
+ path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
}
if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
{
- path.append( '.' ).append( artifactHandler.getExtension() );
+ path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );
}
return path.toString();
}
- public String pathOfMetadata( ArtifactMetadata metadata )
+ public String pathOfArtifactMetadata( ArtifactMetadata metadata )
{
StringBuffer path = new StringBuffer();
- path.append( formatAsDirectory( metadata.getGroupId() ) ).append( '/' );
- path.append( metadata.getArtifactId() ).append( '/' );
+ path.append( formatAsDirectory( metadata.getGroupId() ) ).append( PATH_SEPARATOR );
+ path.append( metadata.getArtifactId() ).append( PATH_SEPARATOR );
if ( metadata.storedInArtifactDirectory() )
{
- path.append( metadata.getBaseVersion() ).append( '/' );
+ path.append( metadata.getBaseVersion() ).append( PATH_SEPARATOR );
}
path.append( metadata.getFilename() );
@@ -67,26 +73,31 @@
return path.toString();
}
- public String formatAsDirectory( String directory )
- {
- return directory.replace( '.', '/' );
- }
-
- public String formatAsFile( String file )
+ public String pathOfRepositoryMetadata( RepositoryMetadata metadata )
{
- int lastSlash = file.lastIndexOf('/');
-
- if( lastSlash > -1 )
+ String file = metadata.getRepositoryPath();
+
+ String result;
+ int lastSlash = file.lastIndexOf( PATH_SEPARATOR );
+
+ if ( lastSlash > -1 )
{
String filePart = file.substring( lastSlash );
-
+
String dirPart = file.substring( 0, lastSlash );
-
- return dirPart.replace('.', '/') + filePart;
+
+ result = formatAsDirectory( dirPart ) + filePart;
}
else
{
- return file;
+ result = file;
}
+ return result;
+ }
+
+ private String formatAsDirectory( String directory )
+ {
+ return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
}
+
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java Sun Aug 28 23:37:33 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
/**
* @author jdcasey
@@ -49,7 +50,7 @@
return path.toString();
}
- public String pathOfMetadata( ArtifactMetadata metadata )
+ public String pathOfArtifactMetadata( ArtifactMetadata metadata )
{
StringBuffer path = new StringBuffer();
@@ -58,14 +59,10 @@
return path.toString();
}
-
- public String formatAsDirectory( String directory )
- {
- return directory;
- }
-
- public String formatAsFile( String file )
+
+ public String pathOfRepositoryMetadata( RepositoryMetadata metadata )
{
- return file;
+ return metadata.getRepositoryPath();
}
+
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java Sun Aug 28 23:37:33 2005
@@ -16,15 +16,8 @@
* limitations under the License.
*/
-import java.io.File;
-
public interface RepositoryMetadata
{
-
String getRepositoryPath();
-
- File getFile();
-
- void setFile( File file );
}
Copied: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java (from r240415, 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/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java?p2=maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java&p1=maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java&r1=240415&r2=264091&rev=264091&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/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java Sun Aug 28 23:37:33 2005
@@ -1,23 +1,49 @@
-package org.apache.maven.artifact.repository.metadata;
+package org.apache.maven.artifact.repository.metadata;/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
public class RepositoryMetadataManagementException
extends Exception
{
-
private final RepositoryMetadata metadata;
public RepositoryMetadataManagementException( RepositoryMetadata metadata, String message, Throwable cause )
{
- super( "Failed to resolve repository metadata: " + metadata + ".\n\nOriginal message: " + message + "\n\nError 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 + ".\n\nOriginal message: " + message );
-
+
this.metadata = metadata;
+ }
+
+ public RepositoryMetadataManagementException( String message )
+ {
+ super( message );
+ this.metadata = null;
+ }
+
+ public RepositoryMetadataManagementException( String message, Throwable cause )
+ {
+ super( message, cause );
+ this.metadata = null;
}
public RepositoryMetadata getMetadata()
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManagementException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java (from r240415, maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java)
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java?p2=maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java&p1=maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java&r1=240415&r2=264091&rev=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java Sun Aug 28 23:37:33 2005
@@ -1,23 +1,39 @@
package org.apache.maven.artifact.repository.metadata;
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import org.apache.maven.artifact.repository.ArtifactRepository;
+import java.io.File;
+
public interface RepositoryMetadataManager
{
-
void resolveLocally( RepositoryMetadata repositoryMetadata, ArtifactRepository local )
throws RepositoryMetadataManagementException;
void resolve( RepositoryMetadata repositoryMetadata, ArtifactRepository remote, ArtifactRepository local )
throws RepositoryMetadataManagementException;
-
- void deploy( RepositoryMetadata repositoryMetadata, ArtifactRepository remote )
+
+ void deploy( File source, RepositoryMetadata repositoryMetadata, ArtifactRepository remote )
throws RepositoryMetadataManagementException;
-
- void install( RepositoryMetadata repositoryMetadata, ArtifactRepository local )
+
+ void install( File source, RepositoryMetadata repositoryMetadata, ArtifactRepository local )
throws RepositoryMetadataManagementException;
-
+
void purgeLocalCopy( RepositoryMetadata repositoryMetadata, ArtifactRepository local )
throws RepositoryMetadataManagementException;
-
}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-core/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/pom.xml?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-core/pom.xml (original)
+++ maven/components/trunk/maven-core/pom.xml Sun Aug 28 23:37:33 2005
@@ -1,5 +1,5 @@
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
@@ -49,7 +49,7 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-mapping</artifactId>
+ <artifactId>maven-repository-metadata</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
</dependency>
<dependency>
@@ -114,7 +114,7 @@
<version>1.0-alpha-4</version>
<scope>runtime</scope>
</dependency>
-
+
<!-- used to prompt the user to add plugin versions to the plugin-registry. -->
<dependency>
<groupId>plexus</groupId>
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java Sun Aug 28 23:37:33 2005
@@ -18,7 +18,6 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.plugin.mapping.PluginMappingManager;
import org.apache.maven.settings.Settings;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -40,8 +39,6 @@
private EventDispatcher eventDispatcher;
- private PluginMappingManager pluginMappingManager;
-
// TODO: make this the central one, get rid of build settings...
private final Settings settings;
@@ -118,16 +115,6 @@
public Settings getSettings()
{
return settings;
- }
-
- public void setPluginMappingManager( PluginMappingManager pluginMappingManager )
- {
- this.pluginMappingManager = pluginMappingManager;
- }
-
- public PluginMappingManager getPluginMappingManager()
- {
- return pluginMappingManager;
}
public List getSortedProjects()
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Sun Aug 28 23:37:33 2005
@@ -97,7 +97,7 @@
* execution of a mojo.
*
* @param session
- * @param project
+ * @param rm
* @param dispatcher
*/
public MavenExecutionResponse execute( MavenSession session, ReactorManager rm, EventDispatcher dispatcher )
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=264091&r1=264090&r2=264091&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 Sun Aug 28 23:37:33 2005
@@ -46,9 +46,6 @@
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugin.mapping.MavenPluginMappingBuilder;
-import org.apache.maven.plugin.mapping.PluginMappingManagementException;
-import org.apache.maven.plugin.mapping.PluginMappingManager;
import org.apache.maven.plugin.version.PluginVersionManager;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
@@ -117,11 +114,12 @@
protected ArtifactMetadataSource artifactMetadataSource;
- protected MavenPluginMappingBuilder pluginMappingBuilder;
-
protected RuntimeInformation runtimeInformation;
protected MavenProjectBuilder mavenProjectBuilder;
+
+ protected PluginMappingManager pluginMappingManager;
+
// END component requirements
public DefaultPluginManager()
@@ -142,34 +140,18 @@
public Plugin getPluginDefinitionForPrefix( String prefix, MavenSession session, MavenProject project )
throws PluginManagerException
{
- PluginMappingManager mappingManager = getPluginMappingManager( session, project );
-
- Plugin plugin = mappingManager.getByPrefix( prefix );
-
- if ( plugin == null && !mappingManager.isRefreshed() )
+ // TODO: since this is only used in the lifecycle executor, maybe it should be moved there? There is no other
+ // use for the mapping manager in here
+ try
{
- getLogger().info(
- "Refreshing plugin mapping metadata; looking for plugin with prefix: \'" + prefix + "\'." );
-
- try
- {
- mappingManager = pluginMappingBuilder.refreshPluginMappingManager( session.getPluginMappingManager(),
- project.getPluginArtifactRepositories(),
- session.getLocalRepository() );
- }
- catch ( RepositoryMetadataManagementException e )
- {
- throw new PluginManagerException( "Error refreshing plugin mappings.", e );
- }
- catch ( PluginMappingManagementException e )
- {
- throw new PluginManagerException( "Error refreshing plugin mappings.", e );
- }
-
- plugin = mappingManager.getByPrefix( prefix );
+ return pluginMappingManager.getByPrefix( prefix, session.getSettings().getPluginGroups(),
+ project.getPluginArtifactRepositories(),
+ session.getLocalRepository() );
+ }
+ catch ( RepositoryMetadataManagementException e )
+ {
+ throw new PluginManagerException( "Error getting plugin prefix", e );
}
-
- return plugin;
}
public PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
@@ -1138,7 +1120,7 @@
artifacts.add( "maven-monitor" );
artifacts.add( "maven-plugin-api" );
artifacts.add( "maven-plugin-descriptor" );
- artifacts.add( "maven-plugin-mapping" );
+ artifacts.add( "maven-repository-metadata" );
artifacts.add( "maven-plugin-registry" );
artifacts.add( "maven-profile" );
artifacts.add( "maven-project" );
@@ -1225,36 +1207,4 @@
return pluginContainer.lookupMap( role );
}
- private PluginMappingManager getPluginMappingManager( MavenSession session, MavenProject project )
- throws PluginManagerException
- {
- PluginMappingManager mappingManager = session.getPluginMappingManager();
-
- // don't reassemble the plugin mappings if the session has already been configured with them.
- if ( mappingManager == null )
- {
- try
- {
- List pluginGroupIds = session.getSettings().getPluginGroups();
- List pluginRepositories = project.getPluginArtifactRepositories();
- ArtifactRepository localRepository = session.getLocalRepository();
-
- mappingManager = pluginMappingBuilder.loadPluginMappings( pluginGroupIds, pluginRepositories,
- localRepository );
-
- // lazily configure this on the session.
- session.setPluginMappingManager( mappingManager );
- }
- catch ( RepositoryMetadataManagementException e )
- {
- throw new PluginManagerException( "Cannot load plugin mappings.", e );
- }
- catch ( PluginMappingManagementException e )
- {
- throw new PluginManagerException( "Cannot load plugin mappings.", e );
- }
- }
-
- return mappingManager;
- }
}
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java?rev=264091&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java Sun Aug 28 23:37:33 2005
@@ -0,0 +1,267 @@
+package org.apache.maven.plugin;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.InvalidRepositoryMetadataException;
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Plugin;
+import org.apache.maven.artifact.repository.metadata.PluginMappingMetadata;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Manage plugin prefix to artifact ID mapping associations.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class DefaultPluginMappingManager
+ extends AbstractLogEnabled
+ implements PluginMappingManager
+{
+ protected RepositoryMetadataManager repositoryMetadataManager;
+
+ private List mappings = new ArrayList();
+
+ private boolean refreshed;
+
+ private Map pluginDefinitionsByPrefix;
+
+ public void clear()
+ {
+ this.mappings = null;
+ clearCache();
+ }
+
+ private void clearCache()
+ {
+ this.pluginDefinitionsByPrefix = null;
+ }
+
+ public org.apache.maven.model.Plugin getByPrefix( String pluginPrefix, List groupIds, List pluginRepositories,
+ ArtifactRepository localRepository )
+ throws RepositoryMetadataManagementException
+ {
+ if ( pluginDefinitionsByPrefix == null )
+ {
+ // firstly, search the local repository
+ loadPluginMappings( groupIds, pluginRepositories, localRepository );
+
+ calculatePluginDefinitionsByPrefix();
+
+ // if not found, try from the remote repository
+ if ( !pluginDefinitionsByPrefix.containsKey( pluginPrefix ) && !refreshed )
+ {
+ getLogger().info(
+ "Refreshing plugin mapping metadata; looking for plugin with prefix: \'" + pluginPrefix + "\'." );
+
+ refreshPluginMappingManager( pluginRepositories, localRepository );
+
+ refreshed = true;
+ }
+
+ calculatePluginDefinitionsByPrefix();
+ }
+ return (org.apache.maven.model.Plugin) pluginDefinitionsByPrefix.get( pluginPrefix );
+ }
+
+ private void calculatePluginDefinitionsByPrefix()
+ {
+ pluginDefinitionsByPrefix = new HashMap();
+
+ for ( Iterator it = mappings.iterator(); it.hasNext(); )
+ {
+ Metadata pluginMap = (Metadata) it.next();
+
+ String groupId = pluginMap.getGroupId();
+
+ for ( Iterator pluginIterator = pluginMap.getPlugins().iterator(); pluginIterator.hasNext(); )
+ {
+ Plugin mapping = (Plugin) pluginIterator.next();
+
+ String prefix = mapping.getPrefix();
+
+ String artifactId = mapping.getArtifactId();
+
+ org.apache.maven.model.Plugin plugin = new org.apache.maven.model.Plugin();
+
+ plugin.setGroupId( groupId );
+
+ plugin.setArtifactId( artifactId );
+
+ pluginDefinitionsByPrefix.put( prefix, plugin );
+ }
+ }
+ }
+
+ private void refreshPluginMappingManager( List pluginRepositories, ArtifactRepository localRepository )
+ throws RepositoryMetadataManagementException
+ {
+ List groupIds = new ArrayList();
+
+ for ( Iterator it = mappings.iterator(); it.hasNext(); )
+ {
+ Metadata map = (Metadata) it.next();
+
+ String groupId = map.getGroupId();
+
+ groupIds.add( groupId );
+
+ repositoryMetadataManager.purgeLocalCopy( new PluginMappingMetadata( groupId ), localRepository );
+ }
+
+ loadPluginMappings( groupIds, pluginRepositories, localRepository );
+ }
+
+ private void loadPluginMappings( List groupIds, List pluginRepositories, ArtifactRepository localRepository )
+ {
+ List pluginGroupIds = new ArrayList( groupIds );
+
+ // TODO: use constant
+ if ( !pluginGroupIds.contains( "org.apache.maven.plugins" ) )
+ {
+ pluginGroupIds.add( "org.apache.maven.plugins" );
+ }
+
+ for ( Iterator it = pluginGroupIds.iterator(); it.hasNext(); )
+ {
+ String groupId = (String) it.next();
+
+ try
+ {
+ File mappingFile = resolveMappingMetadata( repositoryMetadataManager, groupId, pluginRepositories,
+ localRepository );
+
+ Metadata pluginMap = readPluginMap( mappingFile );
+
+ if ( pluginMap != null )
+ {
+ mappings.add( pluginMap );
+ }
+ }
+ catch ( RepositoryMetadataManagementException e )
+ {
+ getLogger().warn( "Cannot resolve plugin-mapping metadata for groupId: " + groupId + " - IGNORING." );
+
+ getLogger().debug( "Error resolving plugin-mapping metadata for groupId: " + groupId + ".", e );
+ }
+
+ clearCache();
+ }
+ }
+
+ private static Metadata readPluginMap( File mappingFile )
+ throws RepositoryMetadataManagementException
+ {
+ Metadata result = null;
+
+ if ( mappingFile.exists() )
+ {
+ Reader fileReader = null;
+ try
+ {
+ fileReader = new FileReader( mappingFile );
+
+ MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();
+
+ result = mappingReader.read( fileReader );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new RepositoryMetadataManagementException( "Cannot read plugin mappings from: " + mappingFile,
+ e );
+ }
+ catch ( IOException e )
+ {
+ throw new RepositoryMetadataManagementException( "Cannot read plugin mappings from: " + mappingFile,
+ e );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new RepositoryMetadataManagementException( "Cannot parse plugin mappings from: " + mappingFile,
+ e );
+ }
+ finally
+ {
+ IOUtil.close( fileReader );
+ }
+ }
+
+ return result;
+ }
+
+ private static File resolveMappingMetadata( RepositoryMetadataManager repositoryMetadataManager, String groupId,
+ List pluginRepositories, ArtifactRepository localRepository )
+ throws RepositoryMetadataManagementException
+ {
+ PluginMappingMetadata metadata = new PluginMappingMetadata( groupId );
+
+ RepositoryMetadataManagementException repositoryException = null;
+
+ for ( Iterator repoIterator = pluginRepositories.iterator(); repoIterator.hasNext(); )
+ {
+ ArtifactRepository repository = (ArtifactRepository) repoIterator.next();
+
+ try
+ {
+ repositoryMetadataManager.resolve( metadata, repository, localRepository );
+
+ // reset this to keep it from getting in the way when we succeed but not on first repo...
+ repositoryException = null;
+
+ File metadataFile = new File( localRepository.getBasedir(),
+ localRepository.pathOfRepositoryMetadata( metadata ) );
+
+ if ( metadataFile.exists() )
+ {
+ return metadataFile;
+ }
+ }
+ catch ( InvalidRepositoryMetadataException e )
+ {
+ repositoryMetadataManager.purgeLocalCopy( metadata, localRepository );
+ }
+ catch ( RepositoryMetadataManagementException e )
+ {
+ repositoryException = e;
+ }
+ }
+
+ if ( repositoryException != null )
+ {
+ throw repositoryException;
+ }
+
+ throw new RepositoryMetadataManagementException( "No repository metadata found" );
+ }
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java?rev=264091&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java Sun Aug 28 23:37:33 2005
@@ -0,0 +1,36 @@
+package org.apache.maven.plugin;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
+import org.apache.maven.model.Plugin;
+
+import java.util.List;
+
+/**
+ * Manage plugin prefix to artifact ID mapping associations.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public interface PluginMappingManager
+{
+ Plugin getByPrefix( String pluginPrefix, List groupIds, List pluginRepositories,
+ ArtifactRepository localRepository )
+ throws RepositoryMetadataManagementException;
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginMappingManager.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=264091&r1=264090&r2=264091&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 Sun Aug 28 23:37:33 2005
@@ -23,7 +23,7 @@
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
</requirement>
<requirement>
- <role>org.apache.maven.plugin.mapping.MavenPluginMappingBuilder</role>
+ <role>org.apache.maven.plugin.PluginMappingManager</role>
</requirement>
<requirement>
<role>org.apache.maven.execution.RuntimeInformation</role>
@@ -43,6 +43,16 @@
</requirement>
<requirement>
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
+ </requirement>
+ </requirements>
+ </component>
+
+ <component>
+ <role>org.apache.maven.plugin.PluginMappingManager</role>
+ <implementation>org.apache.maven.plugin.DefaultPluginMappingManager</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
</requirement>
</requirements>
</component>
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=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/MBoot.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/MBoot.java Sun Aug 28 23:37:33 2005
@@ -39,29 +39,30 @@
{
String[] builds = new String[]{"maven-model", "maven-settings", "maven-monitor", "maven-plugin-api",
"maven-artifact", "maven-plugin-descriptor", "maven-artifact-manager", "maven-artifact-test",
- "maven-plugin-mapping",
- "maven-script/maven-script-beanshell", "maven-script/maven-script-marmalade", "maven-profile", "maven-project",
- "maven-plugin-registry", "maven-reporting/maven-reporting-api", "maven-reporting/maven-reporting-impl", "maven-core", "maven-archiver",
+ "maven-repository-metadata", "maven-script/maven-script-beanshell", "maven-script/maven-script-marmalade",
+ "maven-profile", "maven-project", "maven-plugin-registry", "maven-reporting/maven-reporting-api",
+ "maven-reporting/maven-reporting-impl", "maven-core", "maven-archiver",
"maven-plugin-tools/maven-plugin-tools-api", "maven-plugin-tools/maven-plugin-tools-java",
"maven-plugin-tools/maven-plugin-tools-beanshell", "maven-plugin-tools/maven-plugin-tools-pluggy",
"maven-plugin-tools/maven-plugin-tools-marmalade", "maven-core-it-verifier"};
String[] pluginBuilds = new String[]{"maven-plugins/maven-clean-plugin", "maven-plugins/maven-compiler-plugin",
- "maven-plugins/maven-install-plugin", "maven-plugins/maven-jar-plugin", "maven-plugins/maven-plugin-plugin",
+ "maven-plugins/maven-install-plugin", "maven-plugins/maven-jar-plugin", "maven-plugins/maven-plugin-plugin",
"maven-plugins/maven-resources-plugin", "maven-plugins/maven-surefire-plugin"};
private static final Map MODELLO_TARGET_VERSIONS;
private static final Map MODELLO_MODEL_FILES;
- static {
+ static
+ {
Map targetVersions = new TreeMap();
targetVersions.put( "maven-model", "4.0.0" );
targetVersions.put( "maven-settings", "1.0.0" );
targetVersions.put( "maven-profile", "1.0.0" );
targetVersions.put( "maven-plugin-registry", "1.0.0" );
targetVersions.put( "maven-plugin-descriptor", "1.0.0" );
- targetVersions.put( "maven-plugin-mapping", "1.0.0" );
+ targetVersions.put( "maven-repository-metadata", "1.0.0" );
MODELLO_TARGET_VERSIONS = Collections.unmodifiableMap( targetVersions );
@@ -71,7 +72,7 @@
modelFiles.put( "maven-profile", "profiles.mdo" );
modelFiles.put( "maven-plugin-registry", "plugin-registry.mdo" );
modelFiles.put( "maven-plugin-descriptor", "src/main/mdo/lifecycle.mdo" );
- modelFiles.put( "maven-plugin-mapping", "src/main/mdo/plugins.mdo" );
+ modelFiles.put( "maven-repository-metadata", "src/main/mdo/metadata.mdo" );
MODELLO_MODEL_FILES = Collections.unmodifiableMap( modelFiles );
}
@@ -186,9 +187,8 @@
System.out.println();
- System.out.println(
- "HOWEVER, since you did not specify a repository path, maven will use: " + repoDir.getAbsolutePath() +
- " to store artifacts locally." );
+ System.out.println( "HOWEVER, since you did not specify a repository path, maven will use: " +
+ repoDir.getAbsolutePath() + " to store artifacts locally." );
}
File repoLocalFile = new File( mavenRepoLocal );
@@ -271,7 +271,8 @@
Mirror m = (Mirror) j.next();
if ( m.getMirrorOf().equals( repo.getId() ) )
{
- newRemoteRepos.add( new Repository( m.getId(), m.getUrl(), repo.getLayout(), repo.isSnapshots(), repo.isReleases() ) );
+ newRemoteRepos.add( new Repository( m.getId(), m.getUrl(), repo.getLayout(), repo.isSnapshots(),
+ repo.isReleases() ) );
foundMirror = true;
}
}
@@ -760,7 +761,7 @@
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" ) );
jarMojo.execute( new File( classes ), buildDir, artifactId + "-" + version );
Modified: maven/components/trunk/maven-plugins/maven-plugin-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/pom.xml?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-plugin-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-plugin-plugin/pom.xml Sun Aug 28 23:37:33 2005
@@ -1,5 +1,5 @@
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>maven-plugin-parent</artifactId>
<groupId>org.apache.maven.plugins</groupId>
@@ -57,7 +57,7 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-mapping</artifactId>
+ <artifactId>maven-repository-metadata</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
</dependency>
</dependencies>
Modified: 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=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/AbstractPluginMappingMojo.java Sun Aug 28 23:37:33 2005
@@ -17,19 +17,16 @@
*/
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Plugin;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
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.plexus.component.discovery.ComponentDiscovererManager;
-import org.codehaus.plexus.component.discovery.ComponentDiscoveryEvent;
-import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -41,7 +38,6 @@
import java.io.Reader;
import java.io.Writer;
import java.util.Iterator;
-import java.util.List;
public abstract class AbstractPluginMappingMojo
extends AbstractMojo
@@ -86,31 +82,33 @@
* @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
+
+ protected File updatePluginMap( RepositoryMetadata metadata )
+ throws MojoExecutionException
{
- PluginMappingXpp3Reader mappingReader = new PluginMappingXpp3Reader();
+ MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();
- PluginMap pluginMap = null;
+ Metadata pluginMap = null;
- File metadataFile = metadata.getFile();
+ File metadataFile = new File( localRepository.getBasedir(),
+ localRepository.pathOfRepositoryMetadata( metadata ) );
- if ( metadataFile != null && metadataFile.exists() )
+ if ( metadataFile.exists() )
{
Reader reader = null;
@@ -130,77 +128,71 @@
}
catch ( XmlPullParserException e )
{
- throw new MojoExecutionException( "Cannot parse plugin-mapping metadata from file: " + metadataFile, e );
+ throw new MojoExecutionException( "Cannot parse plugin-mapping metadata from file: " + metadataFile,
+ e );
}
finally
{
IOUtil.close( reader );
}
}
-
+
if ( pluginMap == null )
{
- pluginMap = new PluginMap();
-
+ pluginMap = new Metadata();
+
pluginMap.setGroupId( project.getGroupId() );
}
- boolean shouldUpdate = true;
-
for ( Iterator it = pluginMap.getPlugins().iterator(); it.hasNext(); )
{
- MappedPlugin preExisting = (MappedPlugin) it.next();
+ Plugin preExisting = (Plugin) it.next();
if ( preExisting.getArtifactId().equals( project.getArtifactId() ) )
{
- getLog().info( "Plugin-mapping metadata for prefix: " + project.getArtifactId() + " already exists. Skipping." );
-
- shouldUpdate = false;
- break;
+ getLog().info(
+ "Plugin-mapping metadata for prefix: " + project.getArtifactId() + " already exists. Skipping." );
+
+ return null;
}
}
- if ( shouldUpdate )
- {
- MappedPlugin mappedPlugin = new MappedPlugin();
+ Plugin mappedPlugin = new Plugin();
- mappedPlugin.setArtifactId( project.getArtifactId() );
+ mappedPlugin.setArtifactId( project.getArtifactId() );
- mappedPlugin.setPrefix( getGoalPrefix() );
+ mappedPlugin.setPrefix( getGoalPrefix() );
- pluginMap.addPlugin( mappedPlugin );
+ 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
+ Writer writer = null;
+ try
+ {
+ File generatedMetadataFile = new File( metadataOutputDirectory, metadata.getRepositoryPath() );
+
+ File dir = generatedMetadataFile.getParentFile();
+
+ if ( !dir.exists() )
{
- IOUtil.close( writer );
+ dir.mkdirs();
}
+
+ writer = new FileWriter( generatedMetadataFile );
+
+ MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();
+
+ mappingWriter.write( writer, pluginMap );
+
+ return generatedMetadataFile;
+ }
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error writing repository metadata to build directory.", e );
+ }
+ finally
+ {
+ IOUtil.close( writer );
}
-
- return shouldUpdate;
}
private String getGoalPrefix()
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=264091&r1=264090&r2=264091&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 Sun Aug 28 23:37:33 2005
@@ -17,10 +17,12 @@
*/
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.PluginMappingMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.mapping.metadata.PluginMappingMetadata;
+
+import java.io.File;
/**
* @goal deployMapping
@@ -47,9 +49,12 @@
{
getRepositoryMetadataManager().resolve( metadata, distributionRepository, getLocalRepository() );
- updatePluginMap( metadata );
+ File metadataFile = updatePluginMap( metadata );
- getRepositoryMetadataManager().deploy( metadata, distributionRepository );
+ if ( metadataFile != null )
+ {
+ getRepositoryMetadataManager().deploy( metadataFile, 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=264091&r1=264090&r2=264091&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 Sun Aug 28 23:37:33 2005
@@ -1,10 +1,28 @@
package org.apache.maven.plugin.plugin.metadata;
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import org.apache.maven.artifact.repository.metadata.InvalidRepositoryMetadataException;
+import org.apache.maven.artifact.repository.metadata.PluginMappingMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManagementException;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.mapping.metadata.PluginMappingMetadata;
+
+import java.io.File;
/**
* @goal installMapping
@@ -18,7 +36,7 @@
throws MojoExecutionException
{
RepositoryMetadata metadata = new PluginMappingMetadata( getProject().getGroupId() );
-
+
try
{
try
@@ -29,12 +47,12 @@
{
getRepositoryMetadataManager().purgeLocalCopy( metadata, getLocalRepository() );
}
-
- boolean shouldUpdate = updatePluginMap( metadata );
- if ( shouldUpdate )
+ File metadataFile = updatePluginMap( metadata );
+
+ if ( metadataFile != null )
{
- getRepositoryMetadataManager().install( metadata, getLocalRepository() );
+ getRepositoryMetadataManager().install( metadataFile, metadata, getLocalRepository() );
}
}
catch ( RepositoryMetadataManagementException e )
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java?rev=264091&r1=264090&r2=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java Sun Aug 28 23:37:33 2005
@@ -64,7 +64,7 @@
public void storeInLocalRepository( ArtifactRepository localRepository )
throws ArtifactMetadataRetrievalException
{
- File destination = new File( localRepository.getBasedir(), localRepository.pathOfMetadata( this ) );
+ File destination = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( this ) );
destination.getParentFile().mkdirs();
Copied: maven/components/trunk/maven-repository-metadata/pom.xml (from r264090, maven/components/trunk/maven-plugin-mapping/pom.xml)
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-repository-metadata/pom.xml?p2=maven/components/trunk/maven-repository-metadata/pom.xml&p1=maven/components/trunk/maven-plugin-mapping/pom.xml&r1=264090&r2=264091&rev=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-mapping/pom.xml (original)
+++ maven/components/trunk/maven-repository-metadata/pom.xml Sun Aug 28 23:37:33 2005
@@ -1,5 +1,5 @@
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
@@ -7,27 +7,12 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-mapping</artifactId>
+ <artifactId>maven-repository-metadata</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
- <name>Maven Plugin Mapping</name>
+ <name>Maven Repository Metadata Model</name>
<description>Maven Plugin Mapping</description>
<dependencies>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>2.0-beta-1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact-manager</artifactId>
- <version>2.0-beta-1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <version>2.0-beta-1-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>plexus</groupId>
<artifactId>plexus-utils</artifactId>
</dependency>
@@ -40,7 +25,7 @@
<version>1.0-alpha-3</version>
<configuration>
<version>1.0.0</version>
- <model>src/main/mdo/plugins.mdo</model>
+ <model>src/main/mdo/metadata.mdo</model>
</configuration>
<executions>
<execution>
Copied: maven/components/trunk/maven-repository-metadata/src/main/mdo/metadata.mdo (from r240396, maven/components/trunk/maven-plugin-mapping/src/main/mdo/plugins.mdo)
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-repository-metadata/src/main/mdo/metadata.mdo?p2=maven/components/trunk/maven-repository-metadata/src/main/mdo/metadata.mdo&p1=maven/components/trunk/maven-plugin-mapping/src/main/mdo/plugins.mdo&r1=240396&r2=264091&rev=264091&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-mapping/src/main/mdo/plugins.mdo (original)
+++ maven/components/trunk/maven-repository-metadata/src/main/mdo/metadata.mdo Sun Aug 28 23:37:33 2005
@@ -1,40 +1,37 @@
<model>
- <id>plugin-map</id>
- <name>PluginMapping</name>
- <description>Mappings for searching for a plugin within a particular groupId.</description>
+ <id>repository-metadata</id>
+ <name>Metadata</name>
+ <description>Per-directory repository metadata.</description>
<defaults>
<default>
<key>package</key>
- <value>org.apache.maven.plugin.mapping</value>
+ <value>org.apache.maven.artifact.repository.metadata</value>
</default>
</defaults>
<classes>
- <class rootElement="true" xml.tagName="mapping">
- <name>PluginMap</name>
+ <class rootElement="true">
+ <name>Metadata</name>
<version>1.0.0</version>
- <description>Root model class, containing various mappings for plugins in this group.</description>
<fields>
<field>
<name>groupId</name>
<version>1.0.0</version>
<type>String</type>
- <required>true</required>
- <description>The groupId for plugins mapped in this file.</description>
+ <description>The groupId that is directory represents, if any.</description>
</field>
<field>
<name>plugins</name>
<version>1.0.0</version>
- <required>true</required>
- <description>The set of plugin mappings</description>
+ <description>The set of plugin mappings for the group</description>
<association>
- <type>MappedPlugin</type>
+ <type>Plugin</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
- <class xml.tagName="plugin">
- <name>MappedPlugin</name>
+ <class>
+ <name>Plugin</name>
<version>1.0.0</version>
<description>Mapping information for a single plugin within this group</description>
<comment>NOTE: plugin version is _NOT_ included here, since it is resolved using a separate algorithm.</comment>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org