brett       2005/03/23 21:18:41

  Modified:    maven-artifact/src/main/java/org/apache/maven/artifact/deployer
                        DefaultArtifactDeployer.java
               
maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager
                        ArtifactHandlerManager.java
                        DefaultArtifactHandlerManager.java
               maven-artifact/src/main/java/org/apache/maven/artifact/installer
                        DefaultArtifactInstaller.java
               maven-artifact/src/main/java/org/apache/maven/artifact/manager
                        DefaultWagonManager.java
               maven-artifact/src/main/java/org/apache/maven/artifact/resolver
                        DefaultArtifactResolver.java
               maven-artifact/src/main/resources/META-INF/plexus
                        components.xml
  Log:
  correct placement of transformations
  
  Revision  Changes    Path
  1.5       +5 -3      
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
  
  Index: DefaultArtifactDeployer.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultArtifactDeployer.java      24 Mar 2005 05:01:05 -0000      1.4
  +++ DefaultArtifactDeployer.java      24 Mar 2005 05:18:40 -0000      1.5
  @@ -23,10 +23,8 @@
   import org.apache.maven.artifact.repository.ArtifactRepository;
   
   import java.io.File;
  +import java.util.List;
   
  -/**
  - * @todo snapshot notions need to be dealt with in one place.
  - */
   public class DefaultArtifactDeployer
       implements ArtifactDeployer
   {
  @@ -34,6 +32,8 @@
   
       private ArtifactHandlerManager artifactHandlerManager;
   
  +    private List artifactTransformations;
  +
       public void deploy( String basedir, Artifact artifact, 
ArtifactRepository deploymentRepository )
           throws ArtifactDeploymentException
       {
  @@ -54,6 +54,8 @@
       public void deploy( File source, Artifact artifact, ArtifactRepository 
deploymentRepository )
           throws ArtifactDeploymentException
       {
  +        // TODO: perform transformations
  +
           try
           {
               wagonManager.putArtifact( source, artifact, deploymentRepository 
);
  
  
  
  1.6       +1 -10     
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
  
  Index: ArtifactHandlerManager.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ArtifactHandlerManager.java       23 Mar 2005 08:42:56 -0000      1.5
  +++ ArtifactHandlerManager.java       24 Mar 2005 05:18:40 -0000      1.6
  @@ -16,10 +16,7 @@
    * limitations under the License.
    */
   
  -import org.apache.maven.artifact.Artifact;
   import org.apache.maven.artifact.handler.ArtifactHandler;
  -import org.apache.maven.artifact.repository.ArtifactRepository;
  -import 
org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
   
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  @@ -31,10 +28,4 @@
   
       ArtifactHandler getArtifactHandler( String type )
           throws ArtifactHandlerNotFoundException;
  -
  -    String getLocalRepositoryArtifactPath( Artifact artifact, 
ArtifactRepository localRepository )
  -        throws ArtifactPathFormatException;
  -
  -    String getRemoteRepositoryArtifactPath( Artifact artifact, 
ArtifactRepository remoteRepository )
  -        throws ArtifactPathFormatException;
   }
  \ No newline at end of file
  
  
  
  1.13      +1 -36     
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
  
  Index: DefaultArtifactHandlerManager.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DefaultArtifactHandlerManager.java        23 Mar 2005 15:10:38 -0000      
1.12
  +++ DefaultArtifactHandlerManager.java        24 Mar 2005 05:18:40 -0000      
1.13
  @@ -16,15 +16,9 @@
    * limitations under the License.
    */
   
  -import org.apache.maven.artifact.Artifact;
   import org.apache.maven.artifact.handler.ArtifactHandler;
  -import org.apache.maven.artifact.repository.ArtifactRepository;
  -import 
org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
   import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
  -import org.apache.maven.artifact.transform.ArtifactTransformation;
   
  -import java.util.Iterator;
  -import java.util.List;
   import java.util.Map;
   import java.util.Set;
   
  @@ -36,8 +30,6 @@
   public class DefaultArtifactHandlerManager
       implements ArtifactHandlerManager
   {
  -    private List artifactTransformations;
  -
       private Map artifactHandlers;
   
       private ArtifactRepositoryLayout artifactRepositoryLayout;
  @@ -59,31 +51,4 @@
       {
           return artifactHandlers.keySet();
       }
  -
  -    public String getRemoteRepositoryArtifactPath( Artifact artifact, 
ArtifactRepository remoteRepository )
  -        throws ArtifactPathFormatException
  -    {
  -        // TODO: note that these are currrently assuming only PUT 
operations, not GET operations
  -        // TODO: note also that these add metadata to the artifacts, so it 
is assumed this is only called once per artifact - needs to be fixed
  -
  -        for ( Iterator i = artifactTransformations.iterator(); i.hasNext(); )
  -        {
  -            ArtifactTransformation transform = (ArtifactTransformation) 
i.next();
  -            artifact = transform.transformRemoteArtifact( artifact, 
remoteRepository );
  -        }
  -
  -        return remoteRepository.pathOf( artifact );
  -    }
  -
  -    public String getLocalRepositoryArtifactPath( Artifact artifact, 
ArtifactRepository localRepository )
  -        throws ArtifactPathFormatException
  -    {
  -        for ( Iterator i = artifactTransformations.iterator(); i.hasNext(); )
  -        {
  -            ArtifactTransformation transform = (ArtifactTransformation) 
i.next();
  -            artifact = transform.transformLocalArtifact( artifact, 
localRepository );
  -        }
  -
  -        return localRepository.getBasedir() + "/" + localRepository.pathOf( 
artifact );
  -    }
  -}
  \ No newline at end of file
  +}
  
  
  
  1.11      +13 -2     
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java
  
  Index: DefaultArtifactInstaller.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- DefaultArtifactInstaller.java     24 Mar 2005 05:01:05 -0000      1.10
  +++ DefaultArtifactInstaller.java     24 Mar 2005 05:18:40 -0000      1.11
  @@ -22,12 +22,14 @@
   import org.apache.maven.artifact.metadata.ArtifactMetadata;
   import org.apache.maven.artifact.repository.ArtifactRepository;
   import 
org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
  +import org.apache.maven.artifact.transform.ArtifactTransformation;
   import org.codehaus.plexus.logging.AbstractLogEnabled;
   import org.codehaus.plexus.util.FileUtils;
   
   import java.io.File;
   import java.io.IOException;
   import java.util.Iterator;
  +import java.util.List;
   
   public class DefaultArtifactInstaller
       extends AbstractLogEnabled
  @@ -35,6 +37,8 @@
   {
       private ArtifactHandlerManager artifactHandlerManager;
   
  +    private List artifactTransformations;
  +
       public void install( String basedir, Artifact artifact, 
ArtifactRepository localRepository )
           throws ArtifactInstallationException
       {
  @@ -57,12 +61,19 @@
       {
           try
           {
  -            String localPath = 
artifactHandlerManager.getLocalRepositoryArtifactPath( artifact, 
localRepository );
  +            // TODO: better to have a transform manager, or reuse the 
handler manager again so we don't have these requirements duplicated all over?
  +            for ( Iterator i = artifactTransformations.iterator(); 
i.hasNext(); )
  +            {
  +                ArtifactTransformation transform = (ArtifactTransformation) 
i.next();
  +                artifact = transform.transformLocalArtifact( artifact, 
localRepository );
  +            }
  +
  +            String localPath = localRepository.pathOf( artifact );
   
               getLogger().info( "Installing " + source.getPath() + " to " + 
localPath );
   
               // TODO: use a file: wagon and the wagon manager?
  -            File destination = new File( localPath );
  +            File destination = new File( localRepository.getBasedir(), 
localPath );
               if ( !destination.getParentFile().exists() )
               {
                   destination.getParentFile().mkdirs();
  
  
  
  1.21      +2 -3      
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
  
  Index: DefaultWagonManager.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- DefaultWagonManager.java  24 Mar 2005 05:01:05 -0000      1.20
  +++ DefaultWagonManager.java  24 Mar 2005 05:18:40 -0000      1.21
  @@ -91,7 +91,7 @@
   
           wagon.connect( repository, getProxy( repository.getProtocol() ) );
   
  -        wagon.put( source, 
artifactHandlerManager.getRemoteRepositoryArtifactPath( artifact, repository ) 
);
  +        wagon.put( source, repository.pathOf( artifact ) );
   
           wagon.disconnect();
   
  @@ -107,11 +107,10 @@
           {
               ArtifactRepository repository = (ArtifactRepository) iter.next();
   
  -            // TODO: should we avoid doing the transforms on this every 
time, and instead transform outside the loop?
               String remotePath = null;
               try
               {
  -                remotePath = 
artifactHandlerManager.getRemoteRepositoryArtifactPath( artifact, repository );
  +                remotePath = repository.pathOf( artifact );
               }
               catch ( ArtifactPathFormatException e )
               {
  
  
  
  1.28      +13 -5     
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.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- DefaultArtifactResolver.java      24 Mar 2005 05:01:05 -0000      1.27
  +++ DefaultArtifactResolver.java      24 Mar 2005 05:18:41 -0000      1.28
  @@ -25,6 +25,7 @@
   import org.apache.maven.artifact.repository.ArtifactRepository;
   import 
org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
   import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
  +import org.apache.maven.artifact.transform.ArtifactTransformation;
   import org.apache.maven.wagon.TransferFailedException;
   import org.codehaus.plexus.logging.AbstractLogEnabled;
   import org.codehaus.plexus.logging.Logger;
  @@ -56,6 +57,8 @@
   
       private ArtifactHandlerManager artifactHandlerManager;
   
  +    private List artifactTransformations;
  +
       // ----------------------------------------------------------------------
       // Implementation
       // ----------------------------------------------------------------------
  @@ -67,27 +70,32 @@
           // 
----------------------------------------------------------------------
           // Check for the existence of the artifact in the specified local
           // ArtifactRepository. If it is present then simply return as the
  -        // request
  -        // for resolution has been satisfied.
  +        // request for resolution has been satisfied.
           // 
----------------------------------------------------------------------
   
           Logger logger = getLogger();
           logger.debug( "Resolving: " + artifact.getId() + " from:\n" + 
"{localRepository: " + localRepository + "}\n" +
                         "{remoteRepositories: " + remoteRepositories + "}" );
   
  +        // TODO: better to have a transform manager, or reuse the handler 
manager again so we don't have these requirements duplicated all over?
  +        for ( Iterator i = artifactTransformations.iterator(); i.hasNext(); )
  +        {
  +            ArtifactTransformation transform = (ArtifactTransformation) 
i.next();
  +            artifact = transform.transformLocalArtifact( artifact, 
localRepository );
  +        }
  +
           String localPath;
   
           try
           {
  -            localPath = 
artifactHandlerManager.getLocalRepositoryArtifactPath( artifact, 
localRepository );
  +            localPath = localRepository.pathOf( artifact );
           }
           catch ( ArtifactPathFormatException e )
           {
               throw new ArtifactResolutionException( "Error resolving 
artifact: ", e );
           }
   
  -        // TODO: what if it were a snapshot that was transformed?
  -        File destination = new File( localPath );
  +        File destination = new File( localRepository.getBasedir(), localPath 
);
           artifact.setFile( destination );
   
           if ( destination.exists() )
  
  
  
  1.15      +12 -4     
maven-components/maven-artifact/src/main/resources/META-INF/plexus/components.xml
  
  Index: components.xml
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-artifact/src/main/resources/META-INF/plexus/components.xml,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- components.xml    23 Mar 2005 08:42:57 -0000      1.14
  +++ components.xml    24 Mar 2005 05:18:41 -0000      1.15
  @@ -25,6 +25,10 @@
           <requirement>
             
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
           </requirement>
  +        <requirement>
  +          
<role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
  +          <field-name>artifactTransformations</field-name>
  +        </requirement>
         </requirements>
       </component>
   
  @@ -55,6 +59,10 @@
           <requirement>
             
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
           </requirement>
  +        <requirement>
  +          
<role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
  +          <field-name>artifactTransformations</field-name>
  +        </requirement>
         </requirements>
       </component>
   
  @@ -73,6 +81,10 @@
           <requirement>
             
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
           </requirement>
  +        <requirement>
  +          
<role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
  +          <field-name>artifactTransformations</field-name>
  +        </requirement>
         </requirements>
       </component>
   
  @@ -111,10 +123,6 @@
             <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
             <field-name>artifactHandlers</field-name>
           </requirement>
  -        <requirement>
  -          
<role>org.apache.maven.artifact.transform.ArtifactTransformation</role>
  -          <field-name>artifactTransformations</field-name>
  -        </requirement>
         </requirements>
       </component>
   
  
  
  

Reply via email to