List of usage examples for org.apache.maven.project ProjectBuildingRequest getRemoteRepositories
List<ArtifactRepository> getRemoteRepositories();
From source file:org.jboss.forge.addon.maven.projects.MavenBuildManager.java
License:Open Source License
@SuppressWarnings("deprecation") private ProjectBuildingRequest getProjectBuildingRequest(final boolean offline) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); try {//from www. j a va 2 s . c o m Settings settings = container.getSettings(); // TODO this needs to be configurable via .forge // TODO this reference to the M2_REPO should probably be centralized MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); MavenExecutionRequestPopulator populator = getPlexus().lookup(MavenExecutionRequestPopulator.class); populator.populateFromSettings(executionRequest, container.getSettings()); populator.populateDefaults(executionRequest); RepositorySystem system = getPlexus().lookup(RepositorySystem.class); ProjectBuildingRequest request = executionRequest.getProjectBuildingRequest(); ArtifactRepository localRepository = RepositoryUtils.toArtifactRepository("local", new File(settings.getLocalRepository()).toURI().toURL().toString(), null, true, true); request.setLocalRepository(localRepository); List<ArtifactRepository> settingsRepos = new ArrayList<>(request.getRemoteRepositories()); List<String> activeProfiles = settings.getActiveProfiles(); Map<String, Profile> profiles = settings.getProfilesAsMap(); for (String id : activeProfiles) { Profile profile = profiles.get(id); if (profile != null) { List<Repository> repositories = profile.getRepositories(); for (Repository repository : repositories) { settingsRepos.add(RepositoryUtils.convertFromMavenSettingsRepository(repository)); } } } request.setRemoteRepositories(settingsRepos); request.setSystemProperties(System.getProperties()); DefaultRepositorySystemSession repositorySession = MavenRepositorySystemUtils.newSession(); Proxy activeProxy = settings.getActiveProxy(); if (activeProxy != null) { DefaultProxySelector dps = new DefaultProxySelector(); dps.add(RepositoryUtils.convertFromMavenProxy(activeProxy), activeProxy.getNonProxyHosts()); repositorySession.setProxySelector(dps); } LocalRepository localRepo = new LocalRepository(settings.getLocalRepository()); repositorySession .setLocalRepositoryManager(system.newLocalRepositoryManager(repositorySession, localRepo)); repositorySession.setOffline(offline); List<Mirror> mirrors = executionRequest.getMirrors(); if (mirrors != null) { DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector(); for (Mirror mirror : mirrors) { mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false, mirror.getMirrorOf(), mirror.getMirrorOfLayouts()); } repositorySession.setMirrorSelector(mirrorSelector); } request.setRepositorySession(repositorySession); request.setProcessPlugins(false); request.setResolveDependencies(false); return request; } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException("Could not create Maven project building request", e); } finally { /* * We reset the classloader to prevent potential modules bugs if Classwords container changes classloaders on * us */ Thread.currentThread().setContextClassLoader(cl); } }
From source file:org.jboss.forge.arquillian.maven.ProjectHelper.java
License:Open Source License
private ProjectBuildingRequest getBuildingRequest(PlexusContainer plexus) { if (this.request == null) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); try {// ww w.ja va2 s .c om Settings settings = mavenContainer.getSettings(); // TODO this needs to be configurable via .forge // TODO this reference to the M2_REPO should probably be centralized MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); RepositorySystem repositorySystem = plexus.lookup(RepositorySystem.class); MavenExecutionRequestPopulator requestPopulator = plexus .lookup(MavenExecutionRequestPopulator.class); requestPopulator.populateFromSettings(executionRequest, settings); requestPopulator.populateDefaults(executionRequest); ProjectBuildingRequest request = executionRequest.getProjectBuildingRequest(); org.apache.maven.artifact.repository.ArtifactRepository localRepository = RepositoryUtils .toArtifactRepository("local", new File(settings.getLocalRepository()).toURI().toURL().toString(), null, true, true); request.setLocalRepository(localRepository); List<org.apache.maven.artifact.repository.ArtifactRepository> settingsRepos = new ArrayList<org.apache.maven.artifact.repository.ArtifactRepository>( request.getRemoteRepositories()); List<String> activeProfiles = settings.getActiveProfiles(); Map<String, Profile> profiles = settings.getProfilesAsMap(); for (String id : activeProfiles) { Profile profile = profiles.get(id); if (profile != null) { List<Repository> repositories = profile.getRepositories(); for (Repository repository : repositories) { settingsRepos.add(RepositoryUtils.convertFromMavenSettingsRepository(repository)); } } } request.setRemoteRepositories(settingsRepos); request.setSystemProperties(System.getProperties()); DefaultRepositorySystemSession repositorySession = MavenRepositorySystemUtils.newSession(); Proxy activeProxy = settings.getActiveProxy(); if (activeProxy != null) { DefaultProxySelector dps = new DefaultProxySelector(); dps.add(RepositoryUtils.convertFromMavenProxy(activeProxy), activeProxy.getNonProxyHosts()); repositorySession.setProxySelector(dps); } LocalRepository localRepo = new LocalRepository(settings.getLocalRepository()); repositorySession.setLocalRepositoryManager( repositorySystem.newLocalRepositoryManager(repositorySession, localRepo)); repositorySession.setOffline(settings.isOffline()); List<Mirror> mirrors = executionRequest.getMirrors(); DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector(); if (mirrors != null) { for (Mirror mirror : mirrors) { mirrorSelector.add(mirror.getId(), mirror.getUrl(), mirror.getLayout(), false, mirror.getMirrorOf(), mirror.getMirrorOfLayouts()); } } repositorySession.setMirrorSelector(mirrorSelector); LazyAuthenticationSelector authSelector = new LazyAuthenticationSelector(mirrorSelector); for (Server server : settings.getServers()) { authSelector.add(server.getId(), new AuthenticationBuilder().addUsername(server.getUsername()) .addPassword(server.getPassword()) .addPrivateKey(server.getPrivateKey(), server.getPassphrase()).build()); } repositorySession.setAuthenticationSelector(authSelector); request.setRepositorySession(repositorySession); request.setProcessPlugins(false); request.setResolveDependencies(false); this.request = request; } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException("Could not create Maven project building request", e); } finally { /* * We reset the classloader to prevent potential modules bugs if Classwords container changes classloaders * on us */ Thread.currentThread().setContextClassLoader(cl); } } return request; }
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);/*from w w w. j a va2 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")); 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 ww w .ja v a2 s .co 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")); 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.maven.bootstrap.core.AbstractBootstrapper.java
License:Apache License
private List<MavenProject> buildBootstrapProjects(MavenSession session, Collection<File> descriptors) { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest()); request.setRemoteRepositories(filterArtifactRepositories(request.getRemoteRepositories())); final List<ProjectBuildingResult> results; try {/*from w w w . ja v a 2s . c o m*/ results = projectBuilder.build(new ArrayList<File>(descriptors), false, request); } catch (ProjectBuildingException e) { throw new IllegalStateException("Cannot build bootstrapper project for " + e.getPomFile(), e); } final List<MavenProject> projects = new ArrayList<MavenProject>(results.size()); for (ProjectBuildingResult result : results) { final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories( filterArtifactRepositories(project.getRemoteArtifactRepositories())); project.setPluginArtifactRepositories( filterArtifactRepositories(project.getPluginArtifactRepositories())); projects.add(project); } final ProjectSorter projectSorter; try { // HACK: Constructor arg changed with Maven 3.2 from List to Collection which made it binary incompatible projectSorter = (ProjectSorter) ProjectSorter.class.getConstructors()[0].newInstance(projects); } catch (InstantiationException e) { throw new IllegalStateException(e); } catch (IllegalAccessException e) { throw new IllegalStateException(e); } catch (InvocationTargetException e) { throw new IllegalStateException(e.getTargetException()); } return projectSorter.getSortedProjects(); }
From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java
License:Apache License
private ProjectBuildingRequest newProjectBuildingRequest(boolean resolveDeps, boolean processPlugins) { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest( buildContext.getSession().getProjectBuildingRequest()); request.setResolveDependencies(resolveDeps); request.setProcessPlugins(processPlugins); request.setProject(null);/*from ww w . ja v a2 s. c o m*/ final MavenProject project = buildContext.getSession().getCurrentProject(); if (project != null) { @SuppressWarnings("unchecked") List<ArtifactRepository> artifactRepos = combine(project.getRemoteArtifactRepositories(), request.getRemoteRepositories()); @SuppressWarnings("unchecked") List<ArtifactRepository> pluginRepos = combine(project.getPluginArtifactRepositories(), request.getPluginArtifactRepositories()); request.setRemoteRepositories(artifactRepos); request.setPluginArtifactRepositories(pluginRepos); } return request; }