public void transformForResolve( Artifact artifact, RepositoryRequest request ) throws ArtifactResolutionException, ArtifactNotFoundException { if ( Artifact.LATEST_VERSION.equals( artifact.getVersion() ) ) { try { String version = resolveVersion( artifact, request ); if ( Artifact.LATEST_VERSION.equals( version ) ) { throw new ArtifactNotFoundException( "Unable to determine the latest version", artifact ); } artifact.setBaseVersion( version ); artifact.updateVersion( version, request.getLocalRepository() ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactResolutionException( e.getMessage(), artifact, e ); } } }
public void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository, ArtifactRepository remoteRepository ) throws RepositoryMetadataResolutionException { File file; try { file = getArtifactMetadataFromDeploymentRepository( metadata, localRepository, remoteRepository ); } catch ( TransferFailedException e ) { throw new RepositoryMetadataResolutionException( metadata + " could not be retrieved from repository: " + remoteRepository.getId() + " due to an error: " + e.getMessage(), e ); } try { if ( file.exists() ) { Metadata prevMetadata = readMetadata( file ); metadata.setMetadata( prevMetadata ); } } catch ( RepositoryMetadataReadException e ) { throw new RepositoryMetadataResolutionException( e.getMessage(), e ); } }
private String retrieveLatestReleasedVersion(final Artifact artifact) { final RepositoryMetadata metadata = new ArtifactRepositoryMetadata(artifact); try { repositoryMetadataManager.resolve(metadata, currentProject.getRemoteArtifactRepositories(), localRepository); } catch (final RepositoryMetadataResolutionException e1) { e1.printStackTrace(); } final Metadata repoMetadata = metadata.getMetadata(); if (repoMetadata.getVersioning() != null) { final String releasedVersion = repoMetadata.getVersioning().getRelease(); if (releasedVersion != null) { return releasedVersion; } final String latestVersion = repoMetadata.getVersioning().getLatest(); if (latestVersion != null) { return latestVersion; } } return repoMetadata.getVersion(); }
throw new ArtifactMetadataRetrievalException( e.getMessage(), e );
throw new RepositoryMetadataResolutionException( "Unable to store local copy of metadata: " + e.getMessage(), e );
public void transformForResolve( Artifact artifact, RepositoryRequest request ) throws ArtifactResolutionException, ArtifactNotFoundException { if ( Artifact.RELEASE_VERSION.equals( artifact.getVersion() ) ) { try { String version = resolveVersion( artifact, request ); if ( Artifact.RELEASE_VERSION.equals( version ) ) { throw new ArtifactNotFoundException( "Unable to determine the release version", artifact ); } artifact.setBaseVersion( version ); artifact.updateVersion( version, request.getLocalRepository() ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactResolutionException( e.getMessage(), artifact, e ); } } }
public void transformForResolve( Artifact artifact, RepositoryRequest request ) throws ArtifactResolutionException { // Only select snapshots that are unresolved (eg 1.0-SNAPSHOT, not 1.0-20050607.123456) if ( artifact.isSnapshot() && artifact.getBaseVersion().equals( artifact.getVersion() ) ) { try { String version = resolveVersion( artifact, request ); artifact.updateVersion( version, request.getLocalRepository() ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactResolutionException( e.getMessage(), artifact, e ); } } }
public List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact, ArtifactRepository localRepository, ArtifactRepository deploymentRepository ) throws ArtifactMetadataRetrievalException { RepositoryMetadata metadata = new ArtifactRepositoryMetadata( artifact ); try { repositoryMetadataManager.resolveAlways( metadata, localRepository, deploymentRepository ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactMetadataRetrievalException( e.getMessage(), e, artifact ); } List<String> availableVersions = localRepository.findVersions( artifact ); return retrieveAvailableVersionsFromMetadata( metadata.getMetadata(), availableVersions ); }
public List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request ) throws ArtifactMetadataRetrievalException { RepositoryMetadata metadata = new ArtifactRepositoryMetadata( request.getArtifact() ); try { repositoryMetadataManager.resolve( metadata, request ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactMetadataRetrievalException( e.getMessage(), e, request.getArtifact() ); } List<String> availableVersions = request.getLocalRepository().findVersions( request.getArtifact() ); return retrieveAvailableVersionsFromMetadata( metadata.getMetadata(), availableVersions ); }
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository, ArtifactRepository localRepository ) throws ArtifactDeploymentException { if ( artifact.isSnapshot() ) { Snapshot snapshot = new Snapshot(); snapshot.setTimestamp( getDeploymentTimestamp() ); // we update the build number anyway so that it doesn't get lost. It requires the timestamp to take effect try { int buildNumber = resolveLatestSnapshotBuildNumber( artifact, localRepository, remoteRepository ); snapshot.setBuildNumber( buildNumber + 1 ); } catch ( RepositoryMetadataResolutionException e ) { throw new ArtifactDeploymentException( "Error retrieving previous build number for artifact '" + artifact.getDependencyConflictId() + "': " + e.getMessage(), e ); } RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact, snapshot ); artifact.setResolvedVersion( constructVersion( metadata.getMetadata().getVersioning(), artifact.getBaseVersion() ) ); artifact.addMetadata( metadata ); } }