1 package org.apache.maven.artifact.transform; 2 3 18 19 import org.apache.maven.artifact.Artifact; 20 import org.apache.maven.artifact.repository.ArtifactRepository; 21 import org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException; 22 import org.apache.maven.artifact.repository.metadata.Versioning; 23 import org.apache.maven.artifact.resolver.ArtifactNotFoundException; 24 import org.apache.maven.artifact.resolver.ArtifactResolutionException; 25 26 import java.util.List ; 27 28 public class LatestArtifactTransformation 29 extends AbstractVersionTransformation 30 { 31 public void transformForResolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository ) 32 throws ArtifactResolutionException, ArtifactNotFoundException 33 { 34 if ( Artifact.LATEST_VERSION.equals( artifact.getVersion() ) ) 35 { 36 try 37 { 38 String version = resolveVersion( artifact, localRepository, remoteRepositories ); 39 if ( Artifact.LATEST_VERSION.equals( version ) ) 40 { 41 throw new ArtifactNotFoundException( "Unable to determine the latest version", artifact ); 42 } 43 44 artifact.setBaseVersion( version ); 45 artifact.updateVersion( version, localRepository ); 46 } 47 catch ( RepositoryMetadataResolutionException e ) 48 { 49 throw new ArtifactResolutionException( e.getMessage(), artifact, e ); 50 } 51 } 52 } 53 54 public void transformForInstall( Artifact artifact, ArtifactRepository localRepository ) 55 { 56 } 58 59 public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository, 60 ArtifactRepository localRepository ) 61 { 62 } 64 65 protected String constructVersion( Versioning versioning, String baseVersion ) 66 { 67 return versioning.getLatest(); 68 } 69 } 70 | Popular Tags |