List of usage examples for org.apache.maven.execution MavenExecutionRequest addRemoteRepository
MavenExecutionRequest addRemoteRepository(ArtifactRepository repository);
From source file:org.appformer.maven.integration.embedder.MavenEmbedder.java
License:Apache License
protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest) throws MavenEmbedderException, ComponentLookupException { MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest(); if (mavenRequest.getGlobalSettingsFile() != null) { mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile())); }/*from w ww. j a v a 2 s .co m*/ SettingsSource userSettings = mavenRequest.getUserSettingsSource(); if (userSettings != null) { if (userSettings instanceof FileSettingsSource) { mavenExecutionRequest.setUserSettingsFile(((FileSettingsSource) userSettings).getSettingsFile()); } else { try { mavenExecutionRequest.setUserSettingsFile(copyInTempFile(userSettings.getInputStream(), "xml")); } catch (IOException ioe) { log.warn("Unable to use maven settings defined in " + userSettings, ioe); } } } try { componentProvider.lookup(MavenExecutionRequestPopulator.class) .populateFromSettings(mavenExecutionRequest, getSettings()); componentProvider.lookup(MavenExecutionRequestPopulator.class).populateDefaults(mavenExecutionRequest); } catch (MavenExecutionRequestPopulationException e) { throw new MavenEmbedderException(e.getMessage(), e); } ArtifactRepository localRepository = getLocalRepository(); mavenExecutionRequest.setLocalRepository(localRepository); mavenExecutionRequest.setLocalRepositoryPath(localRepository.getBasedir()); mavenExecutionRequest.setOffline(mavenRequest.isOffline()); mavenExecutionRequest.setUpdateSnapshots(mavenRequest.isUpdateSnapshots()); // TODO check null and create a console one ? mavenExecutionRequest.setTransferListener(mavenRequest.getTransferListener()); mavenExecutionRequest.setCacheNotFound(mavenRequest.isCacheNotFound()); mavenExecutionRequest.setCacheTransferError(true); mavenExecutionRequest.setUserProperties(mavenRequest.getUserProperties()); mavenExecutionRequest.getSystemProperties().putAll(System.getProperties()); if (mavenRequest.getSystemProperties() != null) { mavenExecutionRequest.getSystemProperties().putAll(mavenRequest.getSystemProperties()); } mavenExecutionRequest.getSystemProperties().putAll(getEnvVars()); if (mavenRequest.getProfiles() != null && !mavenRequest.getProfiles().isEmpty()) { for (String id : mavenRequest.getProfiles()) { Profile p = new Profile(); p.setId(id); p.setSource("cli"); mavenExecutionRequest.addProfile(p); mavenExecutionRequest.addActiveProfile(id); } } MavenRepositoryConfiguration mavenRepoConf = getMavenRepositoryConfiguration(); //DROOLS-899: Copy repositories defined in settings to execution request for (ArtifactRepository artifactRepository : mavenRepoConf.getArtifactRepositoriesForRequest()) { mavenExecutionRequest.addRemoteRepository(artifactRepository); } mavenExecutionRequest.setProxies(mavenRepoConf.getProxies()); mavenExecutionRequest.setLoggingLevel(mavenRequest.getLoggingLevel()); componentProvider.lookup(Logger.class).setThreshold(mavenRequest.getLoggingLevel()); mavenExecutionRequest.setExecutionListener(mavenRequest.getExecutionListener()) .setInteractiveMode(mavenRequest.isInteractive()) .setGlobalChecksumPolicy(mavenRequest.getGlobalChecksumPolicy()).setGoals(mavenRequest.getGoals()); if (mavenRequest.getPom() != null) { mavenExecutionRequest.setPom(new File(mavenRequest.getPom())); } if (mavenRequest.getWorkspaceReader() != null) { mavenExecutionRequest.setWorkspaceReader(mavenRequest.getWorkspaceReader()); } return mavenExecutionRequest; }
From source file:org.jboss.tools.maven.ui.Activator.java
License:Open Source License
@SuppressWarnings("restriction") public String getDependencyVersion(Artifact artifact, List<ArtifactRepository> remoteRepos, String gid, String aid) {// w ww .j av a 2s. co m IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getMavenProject(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); //If the artifact is a workspace dependency, the mavenProject is already loaded if (facade != null) { return getDependencyVersion(facade.getMavenProject(), gid, aid); } //look at the artifact pom file and if it exists, load the corresponding MavenProject File pom = getPomFile(artifact); String version = null; if (pom != null) { MavenProject mavenProject = null; MavenImpl maven = (MavenImpl) MavenPlugin.getMaven(); try { //Create a custom execution request IProgressMonitor monitor = new NullProgressMonitor(); MavenExecutionRequest request = maven.createExecutionRequest(monitor); for (ArtifactRepository repo : remoteRepos) { request.addRemoteRepository(repo); } request.setPom(pom); request.getProjectBuildingRequest().setResolveDependencies(true); //Load the MavenProject MavenExecutionResult result = maven.readProject(request, monitor); //log errors if (result.hasExceptions()) { for (Throwable e : result.getExceptions()) { log(e); } } else { mavenProject = result.getProject(); if (mavenProject != null) { //finally look at the dependency version version = getDependencyVersion(mavenProject, gid, aid); //Detach the mavenProject from the maven session to avoid memory leaks maven.detachFromSession(mavenProject); } } } catch (CoreException e) { //Don't crash on failures to read the dependency version log(e); } } return version; }
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 .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; } 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.kie.workbench.common.services.backend.compiler.external339.AFConfigurationProcessor.java
License:Apache License
private MavenExecutionRequest populateFromSettings(MavenExecutionRequest request, Settings settings) throws MavenExecutionRequestPopulationException { if (settings == null) { return request; } else {/*from w w w . jav a 2 s . c o m*/ request.setOffline(settings.isOffline()); request.setInteractiveMode(settings.isInteractiveMode()); request.setPluginGroups(settings.getPluginGroups()); request.setLocalRepositoryPath(settings.getLocalRepository()); Iterator i$ = settings.getServers().iterator(); while (i$.hasNext()) { Server server = (Server) i$.next(); server = server.clone(); request.addServer(server); } i$ = settings.getProxies().iterator(); while (i$.hasNext()) { Proxy proxy = (Proxy) i$.next(); if (proxy.isActive()) { proxy = proxy.clone(); request.addProxy(proxy); } } i$ = settings.getMirrors().iterator(); while (i$.hasNext()) { Mirror mirror = (Mirror) i$.next(); mirror = mirror.clone(); request.addMirror(mirror); } request.setActiveProfiles(settings.getActiveProfiles()); i$ = settings.getProfiles().iterator(); while (true) { Profile rawProfile; do { if (!i$.hasNext()) { return request; } rawProfile = (Profile) i$.next(); request.addProfile(SettingsUtils.convertFromSettingsProfile(rawProfile)); } while (!settings.getActiveProfiles().contains(rawProfile.getId())); List<Repository> remoteRepositories = rawProfile.getRepositories(); Iterator i$2 = remoteRepositories.iterator(); while (i$2.hasNext()) { Repository remoteRepository = (Repository) i$.next(); try { request.addRemoteRepository( MavenRepositorySystem.buildArtifactRepository(remoteRepository)); } catch (InvalidRepositoryException var10) { logger.error(var10.getMessage()); } } List<Repository> pluginRepositories = rawProfile.getPluginRepositories(); Iterator i$3 = pluginRepositories.iterator(); while (i$3.hasNext()) { Repository pluginRepository = (Repository) i$.next(); try { request.addPluginArtifactRepository( MavenRepositorySystem.buildArtifactRepository(pluginRepository)); } catch (InvalidRepositoryException var11) { logger.error(var11.getMessage()); } } } } }
From source file:org.kie.workbench.common.services.backend.compiler.external339.AFSettingsXmlConfigurationProcessor.java
License:Apache License
private MavenExecutionRequest populateFromSettings(MavenExecutionRequest request, Settings settings) throws MavenExecutionRequestPopulationException { if (settings == null) { return request; }/* w ww .j a va 2 s.c om*/ request.setOffline(settings.isOffline()); request.setInteractiveMode(settings.isInteractiveMode()); request.setPluginGroups(settings.getPluginGroups()); request.setLocalRepositoryPath(settings.getLocalRepository()); for (Server server : settings.getServers()) { server = server.clone(); request.addServer(server); } // <proxies> // <proxy> // <active>true</active> // <protocol>http</protocol> // <host>proxy.somewhere.com</host> // <port>8080</port> // <username>proxyuser</username> // <password>somepassword</password> // <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts> // </proxy> // </proxies> for (Proxy proxy : settings.getProxies()) { if (!proxy.isActive()) { continue; } proxy = proxy.clone(); request.addProxy(proxy); } // <mirrors> // <mirror> // <id>nexus</id> // <mirrorOf>*</mirrorOf> // <url>http://repository.sonatype.org/content/groups/public</url> // </mirror> // </mirrors> for (Mirror mirror : settings.getMirrors()) { mirror = mirror.clone(); request.addMirror(mirror); } request.setActiveProfiles(settings.getActiveProfiles()); for (org.apache.maven.settings.Profile rawProfile : settings.getProfiles()) { request.addProfile(SettingsUtils.convertFromSettingsProfile(rawProfile)); if (settings.getActiveProfiles().contains(rawProfile.getId())) { List<Repository> remoteRepositories = rawProfile.getRepositories(); for (Repository remoteRepository : remoteRepositories) { try { request.addRemoteRepository( MavenRepositorySystem.buildArtifactRepository(remoteRepository)); } catch (InvalidRepositoryException e) { // do nothing for now } } List<Repository> pluginRepositories = rawProfile.getPluginRepositories(); for (Repository pluginRepository : pluginRepositories) { try { request.addPluginArtifactRepository( MavenRepositorySystem.buildArtifactRepository(pluginRepository)); } catch (InvalidRepositoryException e) { // do nothing for now } } } } return request; }