List of usage examples for org.apache.maven.execution MavenExecutionRequest setRemoteRepositories
MavenExecutionRequest setRemoteRepositories(List<ArtifactRepository> repositories);
From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java
License:Apache License
private Artifact resolve(@Nonnull final Artifact artifact, @Nonnull final List<ArtifactRepository> repos) throws ArtifactResolutionException, ArtifactNotFoundException { MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setRemoteRepositories(repos); try {//from www .j ava 2 s. c o m getComponent(MavenExecutionRequestPopulator.class).populateFromSettings(request, myMavenSettings); getComponent(MavenExecutionRequestPopulator.class).populateDefaults(request); } catch (MavenExecutionRequestPopulationException e) { throw new RuntimeException(e); } getComponent(ArtifactResolver.class).resolve(artifact, request.getRemoteRepositories(), myLocalRepository); return artifact; }
From source file:org.jetbrains.idea.maven.server.Maven32ServerEmbedderImpl.java
License:Apache License
private Artifact resolve(@Nonnull final Artifact artifact, @Nonnull final List<ArtifactRepository> repos) throws ArtifactResolutionException, ArtifactNotFoundException, RemoteException, org.eclipse.aether.resolution.ArtifactResolutionException { final String mavenVersion = getMavenVersion(); // org.eclipse.aether.RepositorySystem.newResolutionRepositories() method doesn't exist in aether-api-0.9.0.M2.jar used before maven 3.2.5 // see https://youtrack.jetbrains.com/issue/IDEA-140208 for details if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING || MavenStringUtil.compareVersionNumbers(mavenVersion, "3.2.5") < 0) { MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setRemoteRepositories(repos); try {/*from w w w . jav a 2 s .co m*/ getComponent(MavenExecutionRequestPopulator.class).populateFromSettings(request, myMavenSettings); getComponent(MavenExecutionRequestPopulator.class).populateDefaults(request); } catch (MavenExecutionRequestPopulationException e) { throw new RuntimeException(e); } getComponent(ArtifactResolver.class).resolve(artifact, request.getRemoteRepositories(), myLocalRepository); return artifact; } else { final MavenExecutionRequest request = createRequest(null, Collections.<String>emptyList(), Collections.<String>emptyList(), Collections.<String>emptyList()); for (ArtifactRepository artifactRepository : repos) { request.addRemoteRepository(artifactRepository); } DefaultMaven maven = (DefaultMaven) getComponent(Maven.class); RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request); final org.eclipse.aether.impl.ArtifactResolver artifactResolver = getComponent( org.eclipse.aether.impl.ArtifactResolver.class); final MyLoggerFactory loggerFactory = new MyLoggerFactory(); if (artifactResolver instanceof DefaultArtifactResolver) { ((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory); } final org.eclipse.aether.RepositorySystem repositorySystem = getComponent( org.eclipse.aether.RepositorySystem.class); if (repositorySystem instanceof DefaultRepositorySystem) { ((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory); } List<RemoteRepository> repositories = RepositoryUtils.toRepos(request.getRemoteRepositories()); repositories = repositorySystem.newResolutionRepositories(repositorySystemSession, repositories); final ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession, new ArtifactRequest(RepositoryUtils.toArtifact(artifact), repositories, null)); return RepositoryUtils.toArtifact(artifactResult.getArtifact()); } }