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>