List of usage examples for org.apache.maven.execution MavenExecutionRequestPopulator populateFromSettings
@Deprecated
MavenExecutionRequest populateFromSettings(MavenExecutionRequest request, Settings settings)
throws MavenExecutionRequestPopulationException;
From source file:io.takari.maven.testing.Maven30xRuntime.java
License:Open Source License
@SuppressWarnings("deprecation") protected MavenExecutionRequest newExecutionRequest() throws Exception { // system properties Properties buildProperties = getMavenBuildProperties(); String mavenVersion = buildProperties.getProperty("version"); Properties systemProperties = new Properties(); systemProperties.putAll(System.getProperties()); // TODO not thread safe systemProperties.setProperty("maven.version", mavenVersion); systemProperties.setProperty("maven.build.version", mavenVersion); // request with initial configuration MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setLocalRepositoryPath(properties.getLocalRepository()); request.setUserSettingsFile(properties.getUserSettings()); request.setGlobalSettingsFile(properties.getGlobalSettings()); request.setOffline(properties.getOffline()); request.setUpdateSnapshots(properties.getUpdateSnapshots()); request.setSystemProperties(systemProperties); // read settings SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); settingsRequest.setGlobalSettingsFile(request.getGlobalSettingsFile()); settingsRequest.setUserSettingsFile(request.getUserSettingsFile()); settingsRequest.setSystemProperties(request.getSystemProperties()); settingsRequest.setUserProperties(request.getUserProperties()); Settings settings = lookup(SettingsBuilder.class).build(settingsRequest).getEffectiveSettings(); MavenExecutionRequestPopulator populator = container.lookup(MavenExecutionRequestPopulator.class); request = populator.populateFromSettings(request, settings); return populator.populateDefaults(request); }
From source file:org.commonjava.maven.ext.cli.Cli.java
License:Apache License
private void createSession(File target, File settings) { try {//from ww w. ja v a2 s . c o m final DefaultContainerConfiguration config = new DefaultContainerConfiguration(); config.setClassPathScanning(PlexusConstants.SCANNING_ON); config.setComponentVisibility(PlexusConstants.GLOBAL_VISIBILITY); config.setName("PME-CLI"); PlexusContainer container = new DefaultPlexusContainer(config); pomIO = container.lookup(PomIO.class); session = container.lookup(ManipulationSession.class); manipulationManager = container.lookup(ManipulationManager.class); final MavenExecutionRequest req = new DefaultMavenExecutionRequest() .setUserProperties(System.getProperties()).setUserProperties(userProps) .setRemoteRepositories(Collections.<ArtifactRepository>emptyList()); ArtifactRepository ar = null; if (settings == null) { // No, this is not a typo. If current default is null, supply new local and global. // This function passes in settings to make it easier to test. this.settings = settings = new File(System.getProperty("user.home"), ".m2/settings.xml"); ar = new MavenArtifactRepository(); ar.setUrl("file://" + System.getProperty("user.home") + "/.m2/repository"); req.setLocalRepository(ar); } req.setUserSettingsFile(settings); req.setGlobalSettingsFile(settings); MavenExecutionRequestPopulator executionRequestPopulator = container .lookup(MavenExecutionRequestPopulator.class); executionRequestPopulator.populateFromSettings(req, parseSettings(settings)); executionRequestPopulator.populateDefaults(req); if (ar != null) { ar.setUrl("file://" + req.getLocalRepositoryPath()); } if (userProps != null && userProps.containsKey("maven.repo.local")) { if (ar == null) { ar = new MavenArtifactRepository(); } ar.setUrl("file://" + userProps.getProperty("maven.repo.local")); req.setLocalRepository(ar); } final MavenSession mavenSession = new MavenSession(container, null, req, new DefaultMavenExecutionResult()); mavenSession.getRequest().setPom(target); session.setMavenSession(mavenSession); } catch (ComponentLookupException e) { logger.debug("Caught problem instantiating ", e); System.err.println("Unable to start Cli subsystem"); System.exit(100); } catch (PlexusContainerException e) { logger.debug("Caught problem instantiating ", e); System.err.println("Unable to start Cli subsystem"); System.exit(100); } catch (SettingsBuildingException e) { logger.debug("Caught problem parsing settings file ", e); System.err.println("Unable to parse settings.xml file"); System.exit(100); } catch (MavenExecutionRequestPopulationException e) { logger.debug("Caught problem populating maven request from settings file ", e); System.err.println("Unable to create maven execution request from settings.xml file"); System.exit(100); } }
From source file:org.commonjava.maven.ext.manip.Cli.java
License:Apache License
private void createSession(File target, File settings) { try {//from w w w.j av a2s. c o m PlexusContainer container = new DefaultPlexusContainer(); final MavenExecutionRequest req = new DefaultMavenExecutionRequest() .setUserProperties(System.getProperties()).setUserProperties(userProps) .setRemoteRepositories(Collections.<ArtifactRepository>emptyList()); if (userProps != null && userProps.containsKey("maven.repo.local")) { ArtifactRepository ar = new MavenArtifactRepository(); ar.setUrl("file://" + userProps.getProperty("maven.repo.local")); req.setLocalRepository(ar); } if (settings != null) { req.setUserSettingsFile(settings); req.setGlobalSettingsFile(settings); MavenExecutionRequestPopulator executionRequestPopulator = container .lookup(MavenExecutionRequestPopulator.class); executionRequestPopulator.populateFromSettings(req, parseSettings(settings)); executionRequestPopulator.populateDefaults(req); } final MavenSession mavenSession = new MavenSession(container, null, req, new DefaultMavenExecutionResult()); mavenSession.getRequest().setPom(target); pomIO = container.lookup(PomIO.class); session = container.lookup(ManipulationSession.class); manipulationManager = container.lookup(ManipulationManager.class); session.setMavenSession(mavenSession); } catch (ComponentLookupException e) { logger.debug("Caught problem instantiating ", e); System.err.println("Unable to start Cli subsystem"); System.exit(100); e.printStackTrace(); } catch (PlexusContainerException e) { logger.debug("Caught problem instantiating ", e); System.err.println("Unable to start Cli subsystem"); System.exit(100); } catch (SettingsBuildingException e) { logger.debug("Caught problem parsing settings file ", e); System.err.println("Unable to parse settings.xml file"); System.exit(100); } catch (MavenExecutionRequestPopulationException e) { logger.debug("Caught problem populating maven request from settings file ", e); System.err.println("Unable to create maven execution request from settings.xml file"); System.exit(100); } }
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 {/* w w w.ja v a 2 s. com*/ 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 {//from w w w. j a v a 2 s .co m 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.jvnet.hudson.plugins.mavendepsupdate.MavenUpdateChecker.java
License:Apache License
ProjectBuildingRequest getProjectBuildingRequest(Properties userProperties, PlexusContainer plexusContainer) throws ComponentLookupException, SettingsBuildingException, MavenExecutionRequestPopulationException, InvalidRepositoryException {//from ww w. j a v a 2s . c o m MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setLoggingLevel(MavenExecutionRequest.LOGGING_LEVEL_DEBUG); request.setWorkspaceReader(new ReactorReader(new HashMap<String, MavenProject>(0))); SettingsBuilder settingsBuilder = plexusContainer.lookup(SettingsBuilder.class); RepositorySystem repositorySystem = plexusContainer.lookup(RepositorySystem.class); org.sonatype.aether.RepositorySystem repoSystem = plexusContainer .lookup(org.sonatype.aether.RepositorySystem.class); SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest(); if (globalSettings != null) { mavenUpdateCheckerResult.addDebugLine("globalSettings " + globalSettings.getRemote()); settingsRequest.setGlobalSettingsFile(new File(globalSettings.getRemote())); } else { File globalSettings = new File(mavenHome, "conf/settings.xml"); if (globalSettings.exists()) { settingsRequest.setGlobalSettingsFile(globalSettings); } } if (alternateSettings != null) { mavenUpdateCheckerResult.addDebugLine("alternateSettings " + alternateSettings.getRemote()); settingsRequest.setUserSettingsFile(new File(alternateSettings.getRemote())); request.setUserSettingsFile(new File(alternateSettings.getRemote())); } else { File defaultUserSettings = new File(new File(System.getProperty("user.home"), ".m2"), "settings.xml"); settingsRequest.setUserSettingsFile(defaultUserSettings); request.setUserSettingsFile(defaultUserSettings); } settingsRequest.setSystemProperties(System.getProperties()); settingsRequest.setUserProperties(userProperties); SettingsBuildingResult settingsBuildingResult = settingsBuilder.build(settingsRequest); MavenExecutionRequestPopulator executionRequestPopulator = plexusContainer .lookup(MavenExecutionRequestPopulator.class); executionRequestPopulator.populateFromSettings(request, settingsBuildingResult.getEffectiveSettings()); executionRequestPopulator.populateDefaults(request); MavenRepositorySystemSession session = new MavenRepositorySystemSession(); session.setUpdatePolicy(RepositoryPolicy.UPDATE_POLICY_ALWAYS); SnapshotTransfertListener snapshotTransfertListener = new SnapshotTransfertListener(this.lastBuildTime); session.setTransferListener(snapshotTransfertListener); LocalRepository localRepo = getLocalRepo(settingsBuildingResult); session.setLocalRepositoryManager(repoSystem.newLocalRepositoryManager(localRepo)); ArtifactRepository localArtifactRepository = getLocalArtifactRepo(settingsBuildingResult, repositorySystem); request.setLocalRepository(localArtifactRepository); if (this.activeProfiles != null && !this.activeProfiles.isEmpty()) { for (String id : this.activeProfiles) { Profile p = new Profile(); p.setId(id); p.setSource("cli"); request.addProfile(p); request.addActiveProfile(id); } } ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest(); return projectBuildingRequest.setRepositorySession(session); }
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 . jav a 2 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 w w . j a v a2 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")); 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; }