mirror of https://github.com/apache/maven.git
bug fixes, but still not completely fixed
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163693 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
004c6cbdf3
commit
b529deb2df
|
@ -113,15 +113,18 @@ public class SnapshotArtifactMetadata
|
|||
public String getVersion()
|
||||
{
|
||||
String version = artifact.getVersion();
|
||||
if ( timestamp != null )
|
||||
{
|
||||
if ( version != null )
|
||||
{
|
||||
version = StringUtils.replace( version, "SNAPSHOT", timestamp );
|
||||
version = StringUtils.replace( version, "SNAPSHOT", timestamp ) + "-" + buildNumber;
|
||||
}
|
||||
else
|
||||
{
|
||||
version = timestamp;
|
||||
version = timestamp + "-" + buildNumber;
|
||||
}
|
||||
return version + "-" + buildNumber;
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
public void retrieveFromRemoteRepository( ArtifactRepository remoteRepository, WagonManager wagonManager )
|
||||
|
|
|
@ -214,12 +214,19 @@ public class DefaultArtifactResolver
|
|||
throw new ArtifactResolutionException( "Error transitively resolving artifacts: ", e );
|
||||
}
|
||||
|
||||
for ( Iterator i = artifactResolutionResult.getArtifacts().values().iterator(); i.hasNext(); )
|
||||
// TODO: this is unclean, but necessary as long as resolve may return a different artifact
|
||||
Map collectedArtifacts = artifactResolutionResult.getArtifacts();
|
||||
Map resolvedArtifacts = new HashMap( collectedArtifacts.size() );
|
||||
for ( Iterator i = collectedArtifacts.keySet().iterator(); i.hasNext(); )
|
||||
{
|
||||
// TODO: resolve may modify artifacts, do we need to get the new list?
|
||||
resolve( (Artifact) i.next(), remoteRepositories, localRepository );
|
||||
Object key = i.next();
|
||||
resolvedArtifacts.put( key, resolve( (Artifact) collectedArtifacts.get( key ), remoteRepositories,
|
||||
localRepository ) );
|
||||
}
|
||||
|
||||
collectedArtifacts.clear();
|
||||
collectedArtifacts.putAll( resolvedArtifacts );
|
||||
|
||||
return artifactResolutionResult;
|
||||
}
|
||||
|
||||
|
|
|
@ -49,12 +49,17 @@ public class SnapshotTransformation
|
|||
ArtifactRepository localRepository )
|
||||
throws ArtifactMetadataRetrievalException
|
||||
{
|
||||
if ( isSnapshot( artifact ) && !alreadyResolved( artifact ) )
|
||||
if ( isSnapshot( artifact ) )
|
||||
{
|
||||
// TODO: this mostly works, however...
|
||||
// - poms and jars are different, so both are checked individually
|
||||
// - when a pom is downloaded, it prevents the JAR getting downloaded because of the timestamp
|
||||
// - need to gather first, group them all up by groupId/artifactId, then go after them
|
||||
// - alternatively, keep the timestamp when downloading (as is done here), and use the SNAPSHOT file for install
|
||||
// - however, there is no mechanism to flip back and forward, and presently it keeps looking for 2.0-TIMESTAMP-0 instead as that is in the build file
|
||||
|
||||
// - we definitely need the manual/daily check as this is quite slow given the large number of snapshots inside m2 presently
|
||||
|
||||
/*
|
||||
SnapshotArtifactMetadata localMetadata;
|
||||
try
|
||||
|
@ -70,6 +75,8 @@ public class SnapshotTransformation
|
|||
throw new ArtifactMetadataRetrievalException( "Error reading local metadata", e );
|
||||
}
|
||||
|
||||
if ( !alreadyResolved( artifact ) )
|
||||
{
|
||||
boolean foundRemote = false;
|
||||
for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
|
||||
{
|
||||
|
@ -82,7 +89,6 @@ public class SnapshotTransformation
|
|||
if ( remoteMetadata.compareTo( localMetadata ) > 0 )
|
||||
{
|
||||
// TODO: investigate transforming this in place, in which case resolve can return void
|
||||
artifact = createArtifactCopy( artifact, remoteMetadata );
|
||||
artifact.setRepository( remoteRepository );
|
||||
|
||||
localMetadata = remoteMetadata;
|
||||
|
@ -94,8 +100,12 @@ public class SnapshotTransformation
|
|||
{
|
||||
artifact.addMetadata( localMetadata );
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
artifact = createArtifactCopy( artifact, localMetadata );
|
||||
|
||||
resolvedArtifactCache.add( getCacheKey( artifact ) );
|
||||
*/
|
||||
}
|
||||
return artifact;
|
||||
}
|
||||
|
@ -140,15 +150,21 @@ public class SnapshotTransformation
|
|||
|
||||
private Artifact createArtifactCopy( Artifact artifact, SnapshotArtifactMetadata metadata )
|
||||
{
|
||||
ArtifactRepository oldRepository = artifact.getRepository();
|
||||
List list = artifact.getMetadataList();
|
||||
|
||||
artifact = new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), metadata.getVersion(),
|
||||
artifact.getScope(), artifact.getType(), artifact.getClassifier() );
|
||||
|
||||
for ( Iterator i = list.iterator(); i.hasNext(); )
|
||||
{
|
||||
ArtifactMetadata m = (ArtifactMetadata) i.next();
|
||||
m.setArtifact( artifact );
|
||||
artifact.addMetadata( m );
|
||||
}
|
||||
|
||||
artifact.setRepository( oldRepository );
|
||||
|
||||
return artifact;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue