List of usage examples for org.apache.maven.execution MavenExecutionRequest getRemoteRepositories
List<ArtifactRepository> getRemoteRepositories();
From source file:org.eclipse.che.maven.server.MavenServerImpl.java
License:Open Source License
@Override public MavenArtifact resolveArtifact(MavenArtifactKey artifactKey, List<MavenRemoteRepository> repositories) throws RemoteException { Artifact artifact = getMavenComponent(ArtifactFactory.class).createArtifactWithClassifier( artifactKey.getGroupId(), artifactKey.getArtifactId(), artifactKey.getVersion(), artifactKey.getPackaging(), artifactKey.getClassifier()); List<ArtifactRepository> repos = new ArrayList<>(); ArtifactRepositoryFactory factory = getMavenComponent(ArtifactRepositoryFactory.class); for (MavenRemoteRepository repository : repositories) { try {//w w w . jav a 2 s . c o m ArtifactRepository artifactRepository = ProjectUtils.buildArtifactRepository( MavenModelUtil.convertToMavenRepository(repository), factory, container); repos.add(artifactRepository); } catch (InvalidRepositoryException e) { MavenServerContext.getLogger().error(e); } } MavenExecutionRequest request = newMavenRequest(null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); repos.forEach(request::addRemoteRepository); DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class); RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request); org.eclipse.aether.impl.ArtifactResolver artifactResolver = getMavenComponent( org.eclipse.aether.impl.ArtifactResolver.class); InternalLoggerFactory loggerFactory = new InternalLoggerFactory(); if (artifactResolver instanceof DefaultArtifactResolver) { ((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory); } org.eclipse.aether.RepositorySystem repositorySystem = getMavenComponent( org.eclipse.aether.RepositorySystem.class); if (repositorySystem instanceof DefaultRepositorySystem) { ((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory); } List<RemoteRepository> remoteRepositories = RepositoryUtils.toRepos(request.getRemoteRepositories()); remoteRepositories = repositorySystem.newResolutionRepositories(repositorySystemSession, remoteRepositories); try { ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession, new ArtifactRequest(RepositoryUtils.toArtifact(artifact), remoteRepositories, null)); return MavenModelUtil.convertArtifact(RepositoryUtils.toArtifact(artifactResult.getArtifact()), localRepository); } catch (ArtifactResolutionException e) { MavenServerContext.getLogger().info(e); } return MavenModelUtil.convertArtifact(artifact, localRepository); }
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 ww w. j a va 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 ww 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()); } }
From source file:org.phpmaven.test.AbstractTestCase.java
License:Apache License
protected MavenData createProjectBuildingRequest() throws Exception { final File localReposFile = this.getLocalReposDir(); final SimpleLocalRepositoryManager localRepositoryManager = new SimpleLocalRepositoryManager( localReposFile);// w w w . j a va2 s . c o m final DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); for (final Map.Entry<Object, Object> entry : System.getProperties().entrySet()) { repositorySession.getSystemProperties().put(entry.getKey().toString(), entry.getValue().toString()); } repositorySession.getSystemProperties().put("java.version", System.getProperty("java.version")); repositorySession.setDependencyGraphTransformer( new ChainedDependencyGraphTransformer(new ConflictMarker(), new JavaEffectiveScopeCalculator(), new NearestVersionConflictResolver(), new JavaDependencyContextRefiner())); final MavenExecutionRequest request = new DefaultMavenExecutionRequest(); final MavenExecutionRequestPopulator populator = lookup(MavenExecutionRequestPopulator.class); populator.populateDefaults(request); final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE); settingsRequest.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE); settingsRequest.setSystemProperties(request.getSystemProperties()); settingsRequest.setUserProperties(request.getUserProperties()); final SettingsBuilder settingsBuilder = lookup(SettingsBuilder.class); final SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest); final MavenExecutionRequestPopulator executionRequestPopulator = lookup( MavenExecutionRequestPopulator.class); executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings()); final ArtifactRepositoryLayout layout = lookup(ArtifactRepositoryLayout.class); final ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy(); final MavenArtifactRepository repos = new MavenArtifactRepository("local", localReposFile.toURI().toURL().toString(), layout, policy, policy); request.setLocalRepository(repos); request.setSystemProperties(new Properties(System.getProperties())); request.getSystemProperties().put("java.version", System.getProperty("java.version")); repositorySession.setLocalRepositoryManager(localRepositoryManager); final ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); buildingRequest.setLocalRepository(request.getLocalRepository()); buildingRequest.setRepositorySession(repositorySession); buildingRequest.setSystemProperties(request.getSystemProperties()); buildingRequest.getRemoteRepositories().addAll(request.getRemoteRepositories()); buildingRequest.setProfiles(request.getProfiles()); buildingRequest.setActiveProfileIds(request.getActiveProfiles()); buildingRequest.setProcessPlugins(false); buildingRequest.setResolveDependencies(false); final MavenData data = new MavenData(); data.executionRequest = request; data.projectBuildingRequest = buildingRequest; return data; }
From source file:org.phpmaven.test.it.AbstractTestCase.java
License:Apache License
protected MavenData createProjectBuildingRequest() throws Exception { final File localReposFile = this.getLocalReposDir(); final SimpleLocalRepositoryManager localRepositoryManager = new SimpleLocalRepositoryManager( localReposFile);/*from w ww. ja va 2 s .c om*/ final DefaultRepositorySystemSession repositorySession = new DefaultRepositorySystemSession(); for (final Map.Entry<Object, Object> entry : System.getProperties().entrySet()) { repositorySession.getSystemProperties().put(entry.getKey().toString(), entry.getValue().toString()); } repositorySession.getSystemProperties().put("java.version", System.getProperty("java.version")); final MavenExecutionRequest request = new DefaultMavenExecutionRequest(); final MavenExecutionRequestPopulator populator = lookup(MavenExecutionRequestPopulator.class); populator.populateDefaults(request); final SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(MavenCli.DEFAULT_GLOBAL_SETTINGS_FILE); settingsRequest.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE); settingsRequest.setSystemProperties(request.getSystemProperties()); settingsRequest.setUserProperties(request.getUserProperties()); final SettingsBuilder settingsBuilder = lookup(SettingsBuilder.class); final SettingsBuildingResult settingsResult = settingsBuilder.build(settingsRequest); final MavenExecutionRequestPopulator executionRequestPopulator = lookup( MavenExecutionRequestPopulator.class); executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings()); final ArtifactRepositoryLayout layout = lookup(ArtifactRepositoryLayout.class); final ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy(); final MavenArtifactRepository repos = new MavenArtifactRepository("local", localReposFile.toURI().toURL().toString(), layout, policy, policy); final MavenArtifactRepository userRepos = new MavenArtifactRepository("user", new File(MavenCli.userMavenConfigurationHome, "/repository").toURI().toURL().toString(), layout, policy, policy); request.setLocalRepository(repos); // skip wrapping local repository as a remote one for hudson if (!this.isHudsonBuild()) { request.getRemoteRepositories().add(userRepos); } request.setSystemProperties(new Properties(System.getProperties())); request.getSystemProperties().put("java.version", System.getProperty("java.version")); repositorySession.setLocalRepositoryManager(localRepositoryManager); final ProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest(); buildingRequest.setLocalRepository(request.getLocalRepository()); buildingRequest.setRepositorySession(repositorySession); buildingRequest.setSystemProperties(request.getSystemProperties()); // skip wrapping local repository as a remote one for hudson if (!this.isHudsonBuild()) { buildingRequest.getPluginArtifactRepositories().add(userRepos); } buildingRequest.getRemoteRepositories().addAll(request.getRemoteRepositories()); buildingRequest.setProfiles(request.getProfiles()); buildingRequest.setActiveProfileIds(request.getActiveProfiles()); buildingRequest.setProcessPlugins(false); buildingRequest.setResolveDependencies(false); final MavenData data = new MavenData(); data.executionRequest = request; data.projectBuildingRequest = buildingRequest; return data; }
From source file:org.sourcepit.common.maven.testing.EmbeddedMaven.java
License:Apache License
public void populateDefaults(final MavenExecutionRequest request) throws Exception, MavenExecutionRequestPopulationException { request.setExecutionListener(eventSpyDispatcher.chainListener(new ExecutionEventLogger(logger))); request.setTransferListener(new BatchModeMavenTransferListener(System.out)); final SettingsBuildingResult settingsResult = buildSettings(null, request.getUserSettingsFile(), request.getSystemProperties(), request.getUserProperties()); executionRequestPopulator.populateFromSettings(request, settingsResult.getEffectiveSettings()); if (localRepo != null) { request.setLocalRepositoryPath(localRepo); }/*from w w w. j a va 2s .c o m*/ if (remoteRepo != null) { request.getRemoteRepositories().add(getRemoteRepository()); } executionRequestPopulator.populateDefaults(request); }
From source file:org.sourcepit.maven.dependency.model.DependencyTreeBuilder.java
License:Apache License
private MavenProject buildProject(final Artifact artifact) throws ProjectBuildingException { ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setResolveDependencies(false); request.setProcessPlugins(false);/* ww w .ja v a2s . c o m*/ MavenSession session = buildContext.getSession(); request.setRepositorySession(session.getRepositorySession()); request.setLocalRepository(session.getLocalRepository()); request.setSystemProperties(session.getSystemProperties()); request.setUserProperties(request.getUserProperties()); MavenExecutionRequest executionRequest = session.getRequest(); request.setRemoteRepositories(executionRequest.getRemoteRepositories()); request.setPluginArtifactRepositories(executionRequest.getPluginArtifactRepositories()); ProjectBuildingResult build = projectBuilder.build(artifact, request); return build.getProject(); }