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/09/03 16:38:37 UTC
svn commit: r267466 - 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/installer/
maven-artifact-manager/src/main/java/org/apache/maven/a...
Author: brett
Date: Sat Sep 3 07:38:13 2005
New Revision: 267466
URL: http://svn.apache.org/viewcvs?rev=267466&view=rev
Log:
PR: MNG-639
Separate local metadata by repository to ensure it remains consistent
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/installer/DefaultArtifactInstaller.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/metadata/LatestArtifactMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/ReleaseArtifactMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.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/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java
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-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -72,9 +72,10 @@
{
ArtifactMetadata metadata = (ArtifactMetadata) i.next();
// TODO: method should be on repository?
- metadata.storeInLocalRepository( localRepository );
+ metadata.storeInLocalRepository( localRepository, deploymentRepository );
// TODO: shouldn't need to calculate this
- File f = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( metadata ) );
+ File f = new File( localRepository.getBasedir(),
+ localRepository.pathOfLocalRepositoryMetadata( metadata, deploymentRepository ) );
wagonManager.putArtifactMetadata( f, metadata, deploymentRepository );
}
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java Sat Sep 3 07:38:13 2005
@@ -72,7 +72,7 @@
ArtifactMetadata metadata = (ArtifactMetadata) i.next();
// TODO: method should be on repository?
- metadata.storeInLocalRepository( localRepository );
+ metadata.storeInLocalRepository( localRepository, localRepository );
}
}
catch ( IOException e )
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -95,7 +95,7 @@
throws TransferFailedException
{
getLogger().info( "Uploading " + artifactMetadata );
- putRemoteFile( repository, source, repository.pathOfArtifactMetadata( artifactMetadata ), null );
+ putRemoteFile( repository, source, repository.pathOfRemoteRepositoryMetadata( artifactMetadata ), null );
}
private void putRemoteFile( ArtifactRepository repository, File source, String remotePath,
@@ -248,7 +248,7 @@
String checksumPolicy )
throws TransferFailedException, ResourceDoesNotExistException
{
- String remotePath = repository.pathOfArtifactMetadata( metadata );
+ String remotePath = repository.pathOfRemoteRepositoryMetadata( metadata );
getLogger().info( "Retrieving " + metadata );
getRemoteFile( repository, destination, remotePath, null, checksumPolicy );
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -41,14 +41,15 @@
protected long lastModified;
- public AbstractVersionArtifactMetadata( Artifact artifact, String filename )
+ public AbstractVersionArtifactMetadata( Artifact artifact )
{
- super( artifact, filename );
+ super( artifact );
}
- protected File getLocalRepositoryLocation( ArtifactRepository localRepository )
+ protected File getLocalRepositoryLocation( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
{
- return new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( this ) );
+ return new File( localRepository.getBasedir(),
+ localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
}
private void readFromFile( File file )
@@ -70,10 +71,10 @@
return new Date( lastModified );
}
- public void readFromLocalRepository( ArtifactRepository localRepository )
+ public void readFromLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws IOException
{
- File f = getLocalRepositoryLocation( localRepository );
+ File f = getLocalRepositoryLocation( localRepository, remoteRepository );
if ( f.exists() )
{
readFromFile( f );
@@ -104,7 +105,7 @@
}
}
- public void storeInLocalRepository( ArtifactRepository localRepository )
+ public void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException
{
String version = constructVersion();
@@ -112,7 +113,7 @@
{
try
{
- String path = getLocalRepositoryLocation( localRepository ).getPath();
+ String path = getLocalRepositoryLocation( localRepository, remoteRepository ).getPath();
File file = new File( path );
// TODO: this should be centralised before the resolution of the artifact
file.getParentFile().mkdirs();
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java Sat Sep 3 07:38:13 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import java.io.File;
@@ -27,7 +28,22 @@
public LatestArtifactMetadata( Artifact artifact )
{
- super( artifact, artifact.getArtifactId() + "-" + Artifact.LATEST_VERSION + "." + SNAPSHOT_VERSION_FILE );
+ super( artifact );
+ }
+
+ public String getRemoteFilename()
+ {
+ return getFilename();
+ }
+
+ public String getLocalFilename( ArtifactRepository repository )
+ {
+ return getFilename();
+ }
+
+ private String getFilename()
+ {
+ return artifact.getArtifactId() + "-" + Artifact.LATEST_VERSION + "." + SNAPSHOT_VERSION_FILE;
}
public String constructVersion()
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/ReleaseArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/ReleaseArtifactMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/ReleaseArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/ReleaseArtifactMetadata.java Sat Sep 3 07:38:13 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.transform.ReleaseArtifactTransformation;
import java.io.File;
@@ -35,7 +36,22 @@
public ReleaseArtifactMetadata( Artifact artifact )
{
- super( artifact, artifact.getArtifactId() + "-RELEASE." + SNAPSHOT_VERSION_FILE );
+ super( artifact );
+ }
+
+ public String getRemoteFilename()
+ {
+ return getFilename();
+ }
+
+ public String getLocalFilename( ArtifactRepository repository )
+ {
+ return getFilename();
+ }
+
+ private String getFilename()
+ {
+ return artifact.getArtifactId() + "-RELEASE." + SNAPSHOT_VERSION_FILE;
}
public String constructVersion()
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java Sat Sep 3 07:38:13 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.codehaus.plexus.util.StringUtils;
import java.io.File;
@@ -45,7 +46,22 @@
public SnapshotArtifactMetadata( Artifact artifact )
{
- super( artifact, artifact.getArtifactId() + "-" + artifact.getBaseVersion() + "." + SNAPSHOT_VERSION_FILE );
+ super( artifact );
+ }
+
+ public String getRemoteFilename()
+ {
+ return getFilename();
+ }
+
+ public String getLocalFilename( ArtifactRepository repository )
+ {
+ return getFilename();
+ }
+
+ private String getFilename()
+ {
+ return artifact.getArtifactId() + "-" + artifact.getBaseVersion() + "." + SNAPSHOT_VERSION_FILE;
}
public String constructVersion()
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -76,9 +76,14 @@
return layout.pathOf( artifact );
}
- public String pathOfArtifactMetadata( ArtifactMetadata artifactMetadata )
+ public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
{
- return layout.pathOfArtifactMetadata( artifactMetadata );
+ return layout.pathOfRemoteRepositoryMetadata( artifactMetadata );
+ }
+
+ public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
+ {
+ return layout.pathOfLocalRepositoryMetadata( metadata, repository );
}
public ArtifactRepositoryLayout getLayout()
@@ -94,5 +99,10 @@
public ArtifactRepositoryPolicy getReleases()
{
return releases;
+ }
+
+ public String getKey()
+ {
+ return getId();
}
}
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -50,9 +50,6 @@
boolean alreadyResolved = alreadyResolved( metadata );
if ( !alreadyResolved )
{
- File file = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( metadata ) );
-
- boolean checkedUpdates = false;
for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
{
ArtifactRepository repository = (ArtifactRepository) i.next();
@@ -66,41 +63,41 @@
}
else
{
+ File file = new File( localRepository.getBasedir(),
+ localRepository.pathOfLocalRepositoryMetadata( metadata, repository ) );
+
// TODO: should be able to calculate this less often
boolean checkForUpdates = policy.checkOutOfDate( new Date( file.lastModified() ) );
if ( checkForUpdates )
{
- checkedUpdates = true;
getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() );
try
{
wagonManager.getArtifactMetadata( metadata, repository, file, policy.getChecksumPolicy() );
+
// TODO: ???
// metadata.setRepository( repository );
+
+ // touch file so that this is not checked again until interval has passed
+ if ( file.exists() )
+ {
+ file.setLastModified( System.currentTimeMillis() );
+ }
}
catch ( ResourceDoesNotExistException e )
{
getLogger().info( "Repository metadata " + metadata +
- " could not be found on repository: " + repository.getId(), e );
+ " could not be found on repository: " + repository.getId() );
+ getLogger().debug( "Cause", e );
}
catch ( TransferFailedException e )
{
throw new ArtifactMetadataRetrievalException( "Unable to retrieve metadata", e );
}
}
- }
- }
-
- // touch the file if it was checked for updates, but don't create it if it doesn't exist to avoid
- // storing SNAPSHOT as the actual version which doesn't exist remotely.
- if ( checkedUpdates )
- {
- if ( file.exists() )
- {
- file.setLastModified( System.currentTimeMillis() );
}
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/GroupRepositoryMetadata.java Sat Sep 3 07:38:13 2005
@@ -44,11 +44,6 @@
public class GroupRepositoryMetadata
implements ArtifactMetadata
{
- /**
- * TODO: reuse.
- */
- protected static final String METADATA_FILE = "maven-metadata.xml";
-
private final String groupId;
private Map pluginMappings = new HashMap();
@@ -63,14 +58,14 @@
return "repository metadata for group: \'" + groupId + "\'";
}
- public void storeInLocalRepository( ArtifactRepository localRepository )
+ public void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException
{
if ( !pluginMappings.isEmpty() )
{
try
{
- updateRepositoryMetadata( localRepository );
+ updateRepositoryMetadata( localRepository, remoteRepository );
}
catch ( IOException e )
{
@@ -79,9 +74,14 @@
}
}
- public String getFilename()
+ public String getRemoteFilename()
+ {
+ return "maven-metadata.xml";
+ }
+
+ public String getLocalFilename( ArtifactRepository repository )
{
- return METADATA_FILE;
+ return "maven-metadata-" + repository.getKey() + ".xml";
}
public boolean storedInGroupDirectory()
@@ -114,14 +114,15 @@
pluginMappings.put( goalPrefix, artifactId );
}
- private void updateRepositoryMetadata( ArtifactRepository localRepository )
+ private void updateRepositoryMetadata( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws IOException
{
MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();
Metadata pluginMap = null;
- File metadataFile = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( this ) );
+ File metadataFile = new File( localRepository.getBasedir(),
+ localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
if ( metadataFile.exists() )
{
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Sat Sep 3 07:38:13 2005
@@ -19,7 +19,6 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -133,22 +132,20 @@
artifact, remoteRepositories );
}
+/* TODO: pretty sure this can be removed. No metadata on resolved artifacts
// must be after the artifact is downloaded
for ( Iterator i = artifact.getMetadataList().iterator(); i.hasNext(); )
{
ArtifactMetadata metadata = (ArtifactMetadata) i.next();
metadata.storeInLocalRepository( localRepository );
}
+*/
}
catch ( ResourceDoesNotExistException e )
{
throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
}
catch ( TransferFailedException e )
- {
- throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
- }
- catch ( ArtifactMetadataRetrievalException e )
{
throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java Sat Sep 3 07:38:13 2005
@@ -167,7 +167,8 @@
// storing SNAPSHOT as the actual version which doesn't exist remotely.
if ( checkedUpdates && localMetadata.getLastModified().getTime() > 0 )
{
- localMetadata.storeInLocalRepository( localRepository );
+ localMetadata.storeInLocalRepository( localRepository,
+ null ); // TODO: fix artifact repository - but this will be removed anyway
}
resolvedArtifactCache.add( getCacheKey( artifact ) );
@@ -206,7 +207,8 @@
{
// TODO: we could cache the results of this, perhaps inside the artifact repository?
AbstractVersionArtifactMetadata metadata = createMetadata( artifact );
- metadata.readFromLocalRepository( localRepository );
+ metadata.readFromLocalRepository( localRepository,
+ null ); // TODO: fix artifact repository - but this will be removed anyway
return metadata;
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java Sat Sep 3 07:38:13 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
/**
* Common elements of artifact metadata.
@@ -27,19 +28,13 @@
public abstract class AbstractArtifactMetadata
implements ArtifactMetadata
{
- protected final String filename;
-
protected Artifact artifact;
- protected AbstractArtifactMetadata( Artifact artifact, String filename )
- {
- this.artifact = artifact;
- this.filename = filename;
- }
+ protected ArtifactRepository repository;
- public String getFilename()
+ protected AbstractArtifactMetadata( Artifact artifact )
{
- return filename;
+ this.artifact = artifact;
}
public boolean storedInGroupDirectory()
@@ -65,5 +60,10 @@
public Object getKey()
{
return artifact.getGroupId() + ":" + artifact.getArtifactId();
+ }
+
+ public void setRepository( ArtifactRepository repository )
+ {
+ this.repository = repository;
}
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java?rev=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java Sat Sep 3 07:38:13 2005
@@ -33,18 +33,12 @@
* Store the metadata in the local repository.
*
* @param localRepository the local repository
+ * @param remoteRepository the remote repository it came from
*/
- void storeInLocalRepository( ArtifactRepository localRepository )
+ void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException;
/**
- * Get the filename of this metadata.
- *
- * @return the filename
- */
- String getFilename();
-
- /**
* Whether this metadata should be stored alongside the artifact.
*/
boolean storedInArtifactVersionDirectory();
@@ -63,7 +57,22 @@
Object getKey();
/**
- * @Todo delete?
+ * @todo delete?
*/
boolean isSnapshot();
+
+ /**
+ * Get the filename of this metadata on the local repository.
+ *
+ * @param repository the remote repository it came from
+ * @return the filename
+ */
+ String getLocalFilename( ArtifactRepository repository );
+
+ /**
+ * Get the filename of this metadata on the remote repository.
+ *
+ * @return the filename
+ */
+ String getRemoteFilename();
}
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -30,7 +30,9 @@
{
String pathOf( Artifact artifact );
- String pathOfArtifactMetadata( ArtifactMetadata artifactMetadata );
+ String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata );
+
+ String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository );
String getUrl();
@@ -45,4 +47,6 @@
ArtifactRepositoryPolicy getReleases();
ArtifactRepositoryLayout getLayout();
+
+ String getKey();
}
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -18,17 +18,18 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.ArtifactRepository;
/**
* @author jdcasey
*/
public interface ArtifactRepositoryLayout
{
-
String ROLE = ArtifactRepositoryLayout.class.getName();
String pathOf( Artifact artifact );
- String pathOfArtifactMetadata( ArtifactMetadata metadata );
+ String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository );
+ String pathOfRemoteRepositoryMetadata( ArtifactMetadata 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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 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.ArtifactRepository;
/**
* @author jdcasey
@@ -56,7 +57,12 @@
return path.toString();
}
- public String pathOfArtifactMetadata( ArtifactMetadata metadata )
+ public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
+ }
+
+ private String pathOfRepositoryMetadata( ArtifactMetadata metadata, String filename )
{
StringBuffer path = new StringBuffer();
@@ -71,9 +77,14 @@
}
}
- path.append( metadata.getFilename() );
+ path.append( filename );
return path.toString();
+ }
+
+ public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
}
private String formatAsDirectory( String directory )
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 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.ArtifactRepository;
/**
* @author jdcasey
@@ -26,6 +27,8 @@
public class LegacyRepositoryLayout
implements ArtifactRepositoryLayout
{
+ private static final String PATH_SEPARATOR = "/";
+
public String pathOf( Artifact artifact )
{
ArtifactHandler artifactHandler = artifact.getArtifactHandler();
@@ -49,14 +52,25 @@
return path.toString();
}
- public String pathOfArtifactMetadata( ArtifactMetadata metadata )
+ public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
+ }
+
+ private String pathOfRepositoryMetadata( ArtifactMetadata metadata, String filename )
{
StringBuffer path = new StringBuffer();
- path.append( metadata.getGroupId() ).append( "/poms/" );
- path.append( metadata.getFilename() );
+ path.append( metadata.getGroupId() ).append( PATH_SEPARATOR ).append( "poms" ).append( PATH_SEPARATOR );
+
+ path.append( filename );
return path.toString();
+ }
+
+ public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
}
}
Modified: 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=267466&r1=267465&r2=267466&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java Sat Sep 3 07:38:13 2005
@@ -98,11 +98,24 @@
{
GroupRepositoryMetadata metadata = new GroupRepositoryMetadata( groupId );
- // TODO: aggregate the results of this instead
repositoryMetadataManager.resolve( metadata, pluginRepositories, localRepository );
+ // TODO: can this go directly into the manager?
+ for ( Iterator i = pluginRepositories.iterator(); i.hasNext(); )
+ {
+ ArtifactRepository repository = (ArtifactRepository) i.next();
+
+ loadRepositoryPluginMappings( metadata, repository, localRepository );
+ }
+ loadRepositoryPluginMappings( metadata, localRepository, localRepository );
+ }
+
+ private void loadRepositoryPluginMappings( GroupRepositoryMetadata metadata, ArtifactRepository remoteRepository,
+ ArtifactRepository localRepository )
+ throws ArtifactMetadataRetrievalException
+ {
File metadataFile = new File( localRepository.getBasedir(),
- localRepository.pathOfArtifactMetadata( metadata ) );
+ localRepository.pathOfLocalRepositoryMetadata( metadata, remoteRepository ) );
if ( metadataFile.exists() )
{
@@ -120,7 +133,7 @@
org.apache.maven.model.Plugin plugin = new org.apache.maven.model.Plugin();
- plugin.setGroupId( groupId );
+ plugin.setGroupId( metadata.getGroupId() );
plugin.setArtifactId( artifactId );
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=267466&r1=267465&r2=267466&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 Sat Sep 3 07:38:13 2005
@@ -48,19 +48,30 @@
public ProjectArtifactMetadata( Artifact artifact, File file )
{
- super( artifact, null );
+ super( artifact );
this.file = file;
}
- public String getFilename()
+ public String getRemoteFilename()
+ {
+ return getFilename();
+ }
+
+ public String getLocalFilename( ArtifactRepository repository )
+ {
+ return getFilename();
+ }
+
+ private String getFilename()
{
return getArtifactId() + "-" + artifact.getVersion() + ".pom";
}
- public void storeInLocalRepository( ArtifactRepository localRepository )
+ public void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException
{
- File destination = new File( localRepository.getBasedir(), localRepository.pathOfArtifactMetadata( this ) );
+ File destination = new File( localRepository.getBasedir(),
+ localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
destination.getParentFile().mkdirs();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org