public ResolutionGroup get( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories ) { CacheKey cacheKey = newCacheKey( artifact, resolveManagedVersions, localRepository, remoteRepositories ); CacheRecord cacheRecord = cache.get( cacheKey ); if ( cacheRecord != null && !cacheRecord.isStale() ) { Artifact pomArtifact = ArtifactUtils.copyArtifact( cacheRecord.getArtifact() ); Artifact relocatedArtifact = ArtifactUtils.copyArtifactSafe( cacheRecord.getRelocatedArtifact() ); Set<Artifact> artifacts = ArtifactUtils.copyArtifacts( cacheRecord.getArtifacts(), new LinkedHashSet<Artifact>() ); Map<String, Artifact> managedVersions = cacheRecord.getManagedVersions(); if ( managedVersions != null ) { managedVersions = ArtifactUtils.copyArtifacts( managedVersions, new LinkedHashMap<String, Artifact>() ); } return new ResolutionGroup( pomArtifact, relocatedArtifact, artifacts, managedVersions, cacheRecord.getRemoteRepositories() ); } cache.remove( cacheKey ); return null; }
return new ResolutionGroup( null, null, null ); new ResolutionGroup( pomArtifact, relocatedArtifact, artifacts, managedVersions, aggregatedRepositories );
result = new ResolutionGroup( pomArtifact, Collections.EMPTY_SET, Collections.EMPTY_LIST ); result = new ResolutionGroup( pomArtifact, artifacts, repositories );
public ResolutionGroup retrieve(final Artifact artifact, final ArtifactRepository localRepository, final List<ArtifactRepository> remoteRepositories) throws ArtifactMetadataRetrievalException { assert delegate != null; assert repositoryManager != null; log.trace("Retrieving metadata; artifact={}, local={}, remote={}", new Object[] { artifact, localRepository, remoteRepositories }); ResolutionGroup result = delegate.retrieve(artifact, localRepository, repositoryManager.selectRemoteRepositories(remoteRepositories)); log.trace("Resolution group; pom={}, artifacts={}, repositories={}", new Object[] { result.getPomArtifact(), result.getArtifacts(), result.getResolutionRepositories() }); return new ResolutionGroup(result.getPomArtifact(), result.getArtifacts(), repositoryManager.selectRemoteRepositories(result.getResolutionRepositories())); }