1 package org.apache.maven.artifact.transform;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.artifact.Artifact;
23 import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
24 import org.apache.maven.artifact.installer.ArtifactInstallationException;
25 import org.apache.maven.artifact.repository.ArtifactRepository;
26 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
27 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
28 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
29 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
30
31 import java.util.List;
32
33 public class DefaultArtifactTransformationManager
34 implements ArtifactTransformationManager, Initializable
35 {
36 private List<ArtifactTransformation> artifactTransformations;
37
38 public void initialize() throws InitializationException {
39
40 ArtifactTransformation transforms[] = artifactTransformations.toArray( new ArtifactTransformation[]{} );
41 for (int x = 0; x < transforms.length; x++)
42 {
43 if (transforms[x].getClass().getName().indexOf("Snapshot") != -1) {
44 artifactTransformations.remove(transforms[x]);
45 artifactTransformations.add(transforms[x]);
46 }
47 }
48 }
49
50 public void transformForResolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
51 throws ArtifactResolutionException, ArtifactNotFoundException
52 {
53 for ( ArtifactTransformation transform : artifactTransformations )
54 {
55 transform.transformForResolve( artifact, remoteRepositories, localRepository );
56 }
57 }
58
59 public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
60 throws ArtifactInstallationException
61 {
62 for ( ArtifactTransformation transform : artifactTransformations )
63 {
64 transform.transformForInstall( artifact, localRepository );
65 }
66 }
67
68 public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
69 ArtifactRepository localRepository )
70 throws ArtifactDeploymentException
71 {
72 for ( ArtifactTransformation transform : artifactTransformations )
73 {
74 transform.transformForDeployment( artifact, remoteRepository, localRepository );
75 }
76 }
77
78
79
80 }