/** * Gets information about an artifact like its direct dependencies and potential relocations. * * @param artifact the {@link Artifact} requested, must not be {@code null} * @param remoteRepositories to be used for resolving the artifact in addition to the ones already defined in context. * @return {@link ArtifactDescriptorResult} descriptor result, never {@code null} * @throws {@link ArtifactDescriptorException} if the artifact descriptor could not be read */ public ArtifactDescriptorResult readArtifactDescriptor(Artifact artifact, List<RemoteRepository> remoteRepositories) throws ArtifactDescriptorException { checkNotNull(artifact, "artifact cannot be null"); final ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(artifact, resolutionContext.getRemoteRepositories(), null); // Has to set authentication to these remote repositories as they may come from a pom descriptor remoteRepositories.forEach(remoteRepository -> { RemoteRepository authenticatedRemoteRepository = setAuthentication(remoteRepository); if (!request.getRepositories().contains(authenticatedRemoteRepository)) { request.addRepository(authenticatedRemoteRepository); } }); return repositoryState.getSystem().readArtifactDescriptor(repositoryState.getSession(), request); }
/** * Gets information about an artifact like its direct dependencies and potential relocations. * * @param artifact the {@link Artifact} requested, must not be {@code null} * @param remoteRepositories to be used for resolving the artifact in addition to the ones already defined in context. * @return {@link ArtifactDescriptorResult} descriptor result, never {@code null} * @throws {@link ArtifactDescriptorException} if the artifact descriptor could not be read */ public ArtifactDescriptorResult readArtifactDescriptor(Artifact artifact, List<RemoteRepository> remoteRepositories) throws ArtifactDescriptorException { checkNotNull(artifact, "artifact cannot be null"); final ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(artifact, resolutionContext.getRemoteRepositories(), null); // Has to set authentication to these remote repositories as they may come from a pom descriptor remoteRepositories.forEach(remoteRepository -> { RemoteRepository authenticatedRemoteRepository = setAuthentication(remoteRepository); if (!request.getRepositories().contains(authenticatedRemoteRepository)) { request.addRepository(authenticatedRemoteRepository); } }); return repositoryState.getSystem().readArtifactDescriptor(repositoryState.getSession(), request); }
request.addRepository(MAVEN_CENTRAL_REPOSITORY);