maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject cvs commit: maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/transform SnapshotTransformation.java
Date Thu, 24 Mar 2005 16:03:51 GMT
brett       2005/03/24 08:03:51

  Modified:    maven-artifact/src/main/java/org/apache/maven/artifact/metadata
                        SnapshotArtifactMetadata.java
               maven-artifact/src/main/java/org/apache/maven/artifact/resolver
                        DefaultArtifactResolver.java
               maven-artifact/src/main/java/org/apache/maven/artifact/transform
                        SnapshotTransformation.java
  Log:
  bug fixes, but still not completely fixed
  
  Revision  Changes    Path
  1.6       +11 -8     maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
  
  Index: SnapshotArtifactMetadata.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SnapshotArtifactMetadata.java	24 Mar 2005 14:52:25 -0000	1.5
  +++ SnapshotArtifactMetadata.java	24 Mar 2005 16:03:51 -0000	1.6
  @@ -113,15 +113,18 @@
       public String getVersion()
       {
           String version = artifact.getVersion();
  -        if ( version != null )
  +        if ( timestamp != null )
           {
  -            version = StringUtils.replace( version, "SNAPSHOT", timestamp );
  -        }
  -        else
  -        {
  -            version = timestamp;
  +            if ( version != null )
  +            {
  +                version = StringUtils.replace( version, "SNAPSHOT", timestamp ) + "-" +
buildNumber;
  +            }
  +            else
  +            {
  +                version = timestamp + "-" + buildNumber;
  +            }
           }
  -        return version + "-" + buildNumber;
  +        return version;
       }
   
       public void retrieveFromRemoteRepository( ArtifactRepository remoteRepository, WagonManager
wagonManager )
  
  
  
  1.31      +10 -3     maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
  
  Index: DefaultArtifactResolver.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- DefaultArtifactResolver.java	24 Mar 2005 14:52:25 -0000	1.30
  +++ DefaultArtifactResolver.java	24 Mar 2005 16:03:51 -0000	1.31
  @@ -214,12 +214,19 @@
               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;
       }
   
  
  
  
  1.9       +35 -19    maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
  
  Index: SnapshotTransformation.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SnapshotTransformation.java	24 Mar 2005 14:52:25 -0000	1.8
  +++ SnapshotTransformation.java	24 Mar 2005 16:03:51 -0000	1.9
  @@ -49,12 +49,17 @@
                                            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,32 +75,37 @@
                   throw new ArtifactMetadataRetrievalException( "Error reading local metadata",
e );
               }
   
  -            boolean foundRemote = false;
  -            for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
  +            if ( !alreadyResolved( artifact ) )
               {
  -                ArtifactRepository remoteRepository = (ArtifactRepository) i.next();
  +                boolean foundRemote = false;
  +                for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
  +                {
  +                    ArtifactRepository remoteRepository = (ArtifactRepository) i.next();
   
  -                SnapshotArtifactMetadata remoteMetadata = SnapshotArtifactMetadata.createRemoteSnapshotMetadata(
  -                    artifact );
  -                remoteMetadata.retrieveFromRemoteRepository( remoteRepository, wagonManager
);
  +                    SnapshotArtifactMetadata remoteMetadata = SnapshotArtifactMetadata.createRemoteSnapshotMetadata(
  +                        artifact );
  +                    remoteMetadata.retrieveFromRemoteRepository( remoteRepository, wagonManager
);
  +
  +                    if ( remoteMetadata.compareTo( localMetadata ) > 0 )
  +                    {
  +                        // TODO: investigate transforming this in place, in which case
resolve can return void
  +                        artifact.setRepository( remoteRepository );
  +
  +                        localMetadata = remoteMetadata;
  +                        foundRemote = true;
  +                    }
  +                }
   
  -                if ( remoteMetadata.compareTo( localMetadata ) > 0 )
  +                if ( foundRemote )
                   {
  -                    // TODO: investigate transforming this in place, in which case resolve
can return void
  -                    artifact = createArtifactCopy( artifact, remoteMetadata );
  -                    artifact.setRepository( remoteRepository );
  -
  -                    localMetadata = remoteMetadata;
  -                    foundRemote = true;
  +                    artifact.addMetadata( localMetadata );
                   }
               }
   
  -            if ( foundRemote )
  -            {
  -                artifact.addMetadata( localMetadata );
  -            }
  -*/
  +            artifact = createArtifactCopy( artifact, localMetadata );
  +
               resolvedArtifactCache.add( getCacheKey( artifact ) );
  +*/
           }
           return artifact;
       }
  @@ -140,15 +150,21 @@
   
       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;
       }
   
  
  
  

Mime
View raw message