public ArtifactResult resolveArtifact(String groupId, String artifactId, String version, String extension, String classifier, List<RemoteRepository> repositories) throws PlexusContainerException, ComponentLookupException, ArtifactResolutionException { RepositorySystemSession session = newSession(); RepositorySystem system = getRepositorySystem(); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(new DefaultArtifact(groupId, artifactId, classifier, extension, version)); request.setRepositories(repositories); return system.resolveArtifact(session, request); }
@Override public String toString() { return getArtifact() + " < " + getRepositories(); }
public File resolveFile(Artifact root) throws ArtifactResolutionException { RepositorySystem repositorySystem = getRepositorySystem(); final MavenRepositorySystemSession session = createRepositorSystemSession(offline, repositorySystem); List<RemoteRepository> repos = getRemoteRepositories(); ArtifactRequest request = new ArtifactRequest(); request.setArtifact(root); request.setRepositories(repos); request.setRequestContext("runtime"); ArtifactResult result = repositorySystem.resolveArtifact(session, request); return result.getArtifact().getFile(); }
/** * Creates a request with the specified properties. * * @param artifact The artifact to resolve, may be {@code null}. * @param repositories The repositories to resolve the artifact from, may be {@code null}. * @param context The context in which this request is made, may be {@code null}. */ public ArtifactRequest( Artifact artifact, List<RemoteRepository> repositories, String context ) { setArtifact( artifact ); setRepositories( repositories ); setRequestContext( context ); }
public boolean visitEnter( DependencyNode node ) { if ( node.getDependency() != null ) { ArtifactRequest request = new ArtifactRequest( node ); request.setTrace( trace ); requests.add( request ); } return true; }
/** * Resolves a single artifact and returns it. */ public ArtifactResult resolveArtifact( Artifact artifact ) throws ArtifactResolutionException { return resolveArtifact(new ArtifactRequest(artifact,remoteRepositories,null)); }
repo.setPolicy(false, new RepositoryPolicy(true, RepositoryPolicy.UPDATE_POLICY_DAILY, RepositoryPolicy.CHECKSUM_POLICY_WARN)); ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.setArtifact( artifactObj ); artifactRequest.addRepository( repo );
/** * Creates a request from the specified dependency node. * * @param node The dependency node to resolve, may be {@code null}. */ public ArtifactRequest( DependencyNode node ) { setDependencyNode( node ); setRepositories( node.getRepositories() ); setRequestContext( node.getRequestContext() ); }
/** * Sets the dependency node to resolve. * * @param node The dependency node to resolve, may be {@code null}. * @return This request for chaining, never {@code null}. */ public ArtifactRequest setDependencyNode( DependencyNode node ) { this.node = node; if ( node != null ) { setArtifact( node.getDependency().getArtifact() ); } return this; }
RequestTrace trace = DefaultRequestTrace.newChild( request.getTrace(), request ); Artifact artifact = request.getArtifact(); List<RemoteRepository> repos = request.getRepositories(); try VersionRequest versionRequest = new VersionRequest( artifact, repos, request.getRequestContext() ); versionRequest.setTrace( trace ); versionResult = versionResolver.resolveVersion( session, versionRequest ); lrm.find( session, new LocalArtifactRequest( artifact, repos, request.getRequestContext() ) ); if ( isLocallyInstalled( local, versionResult ) ) download.setRequestContext( item.request.getRequestContext() ); download.setTrace( item.trace ); if ( item.local.getFile() != null ) lrm.getPathForRemoteArtifact( artifact, group.repository, item.request.getRequestContext() ); download.setFile( new File( lrm.getRepository().getBasedir(), path ) ); if ( result.getExceptions().isEmpty() ) Exception exception = new ArtifactNotFoundException( request.getArtifact(), null ); result.addException( exception ); RequestTrace trace = DefaultRequestTrace.newChild( request.getTrace(), request ); artifactResolved( session, trace, request.getArtifact(), null, result.getExceptions() );
buffer.append( result.getRequest().getArtifact() ); sep = ", ";
public boolean contains(String groupId, String artifactId, String version, String type) { Artifact artifact = new DefaultArtifact(groupId, artifactId, type, version); try { repositorySystem.resolveArtifact(session, new ArtifactRequest(artifact, ImmutableList.of(snapshotsRepository, releasesRepository), null)); } catch (ArtifactResolutionException e) { return false; } return true; } }
public void download(File file) throws ExtensionException { ArtifactRequest artifactRequest = new ArtifactRequest(); artifactRequest.addRepository(this.repository.getRemoteRepository()); artifactRequest.setArtifact(new DefaultArtifact(this.mavenModel.getGroupId(), this.mavenModel.getArtifactId(), getType(), this.mavenModel.getVersion())); ArtifactResult artifactResult; try { artifactResult = this.repositorySystem.resolveArtifact(this.repository.getSession(), artifactRequest); } catch (ArtifactResolutionException e) { throw new ExtensionException("Failed to resolve artifact", e); } File aetherFile = artifactResult.getArtifact().getFile(); try { FileUtils.copyFile(aetherFile, file); } catch (IOException e) { new ExtensionException("Failed to copy file", e); } }
/** * Creates a request with the specified properties. * * @param artifact The artifact to resolve, may be {@code null}. * @param repositories The repositories to resolve the artifact from, may be {@code null}. * @param context The context in which this request is made, may be {@code null}. */ public ArtifactRequest( Artifact artifact, List<RemoteRepository> repositories, String context ) { setArtifact( artifact ); setRepositories( repositories ); setRequestContext( context ); }
public boolean visitEnter( DependencyNode node ) { if ( node.getDependency() != null ) { ArtifactRequest request = new ArtifactRequest( node ); request.setTrace( trace ); requests.add( request ); } return true; }
/** * Creates a request from the specified dependency node. * * @param node The dependency node to resolve, may be {@code null}. */ public ArtifactRequest( DependencyNode node ) { setDependencyNode( node ); setRepositories( node.getRepositories() ); setRequestContext( node.getRequestContext() ); }
/** * Sets the dependency node to resolve. * * @param node The dependency node to resolve, may be {@code null}. * @return This request for chaining, never {@code null}. */ public ArtifactRequest setDependencyNode( DependencyNode node ) { this.node = node; if ( node != null ) { setArtifact( node.getDependency().getArtifact() ); } return this; }
RequestTrace trace = DefaultRequestTrace.newChild( request.getTrace(), request ); Artifact artifact = request.getArtifact(); List<RemoteRepository> repos = request.getRepositories(); try VersionRequest versionRequest = new VersionRequest( artifact, repos, request.getRequestContext() ); versionRequest.setTrace( trace ); versionResult = versionResolver.resolveVersion( session, versionRequest ); lrm.find( session, new LocalArtifactRequest( artifact, repos, request.getRequestContext() ) ); if ( isLocallyInstalled( local, versionResult ) ) download.setRequestContext( item.request.getRequestContext() ); download.setTrace( item.trace ); if ( item.local.getFile() != null ) lrm.getPathForRemoteArtifact( artifact, group.repository, item.request.getRequestContext() ); download.setFile( new File( lrm.getRepository().getBasedir(), path ) ); if ( result.getExceptions().isEmpty() ) Exception exception = new ArtifactNotFoundException( request.getArtifact(), null ); result.addException( exception ); RequestTrace trace = DefaultRequestTrace.newChild( request.getTrace(), request ); artifactResolved( session, trace, request.getArtifact(), null, result.getExceptions() );
buffer.append( result.getRequest().getArtifact() ); sep = ", ";
@Override public File resolve(final MavenProject project, final String artifact) { final ArtifactResult result; try { final ProjectBuildingRequest projectBuildingRequest = invoke(project, "getProjectBuildingRequest", ProjectBuildingRequest.class); final ArtifactRequest request = new ArtifactRequest(); final DefaultArtifact defaultArtifact = createArtifact(artifact); request.setArtifact(defaultArtifact); @SuppressWarnings("unchecked") final List<RemoteRepository> repos = invoke(project, "getRemoteProjectRepositories", List.class); request.setRepositories(repos); result = repoSystem.resolveArtifact(projectBuildingRequest.getRepositorySession(), request); } catch (ArtifactResolutionException e) { throw new RuntimeException(e.getMessage(), e); } catch (NoSuchMethodException e) { throw new RuntimeException(e.getMessage(), e); } catch (IllegalAccessException e) { throw new RuntimeException(e.getMessage(), e); } catch (InvocationTargetException e) { throw new RuntimeException(e.getMessage(), e); } return result.getArtifact().getFile(); }