List of usage examples for org.apache.maven.execution MavenSession getProjectBuildingRequest
public ProjectBuildingRequest getProjectBuildingRequest()
From source file:fr.fastconnect.factory.tibco.bw.maven.BWLifecycleParticipant.java
License:Apache License
private List<MavenProject> prepareProjects(List<MavenProject> projects, MavenSession session) throws MavenExecutionException { List<MavenProject> result = new ArrayList<MavenProject>(); ProjectBuildingRequest projectBuildingRequest = session.getProjectBuildingRequest(); for (MavenProject mavenProject : projects) { logger.debug("project: " + mavenProject.getGroupId() + ":" + mavenProject.getArtifactId()); List<String> oldActiveProfileIds = projectBuildingRequest.getActiveProfileIds(); try {//from w ww. ja va 2s . c o m List<String> activeProfileIds = activateProfilesWithProperties(mavenProject, oldActiveProfileIds); if (activeProfileIds.size() != oldActiveProfileIds.size()) { projectBuildingRequest.setActiveProfileIds(activeProfileIds); if (mavenProject.getFile() != null) { List<File> files = new ArrayList<File>(); files.add(mavenProject.getFile()); List<ProjectBuildingResult> results = null; try { results = projectBuilder.build(files, true, projectBuildingRequest); } catch (ProjectBuildingException e) { } for (ProjectBuildingResult projectBuildingResult : results) { mavenProject = projectBuildingResult.getProject(); } } } } finally { projectBuildingRequest.setActiveProfileIds(oldActiveProfileIds); } if (mavenProject.getPackaging().startsWith(AbstractBWMojo.BWEAR_TYPE) || "true".equals(propertiesManager.getPropertyValue("enableBWLifecycle"))) { addTIBCODependenciesToPlugin(mavenProject, logger); } result.add(mavenProject); } return result; }
From source file:info.debatty.sparkpackages.maven.plugin.MojoTestCase.java
License:Open Source License
/** * Create an instance of Mojo corresponding to the provided goal. * The Mojo will be configured according to values provided in the pom. * @param pom/*from w ww. j a va2 s .c o m*/ * @param goal * @return * @throws Exception if something went wrong... */ public final Mojo lookupConfiguredMojo(final File pom, final String goal) throws Exception { MavenExecutionRequest request = new DefaultMavenExecutionRequest(); MavenExecutionResult result = new DefaultMavenExecutionResult(); // populate default values for (a.o.) repository basedir and // remote repos MavenExecutionRequestPopulator populator = getContainer().lookup(MavenExecutionRequestPopulator.class); populator.populateDefaults(request); // this is needed to allow java profiles to get resolved; // i.e. avoid during project builds: // [ERROR] Failed to determine Java version for profile // java-1.5-detected request.setSystemProperties(System.getProperties()); // and this is needed so that the repo session in the maven session // has a repo manager, and it points at the local repo // (cf MavenRepositorySystemUtils.newSession() which is what is // otherwise done) DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class); DefaultRepositorySystemSession repo_session = (DefaultRepositorySystemSession) maven .newRepositorySession(request); repo_session.setLocalRepositoryManager(new SimpleLocalRepositoryManagerFactory().newInstance(repo_session, new LocalRepository(request.getLocalRepository().getBasedir()))); @SuppressWarnings("deprecation") MavenSession session = new MavenSession(getContainer(), repo_session, request, result); ProjectBuildingRequest building_request = session.getProjectBuildingRequest(); ProjectBuilder project_builder = lookup(ProjectBuilder.class); MavenProject project = project_builder.build(pom, building_request).getProject(); return super.lookupConfiguredMojo(project, goal); }
From source file:info.ronjenkins.maven.rtr.steps.release.RebuildReleaseReactor.java
License:Apache License
@Override protected void releaseExecute(final MavenSession session, final RTRComponents components) throws MavenExecutionException { final List<MavenProject> reactor = session.getProjects(); final List<MavenProject> newReactor = new ArrayList<>(reactor.size()); final ProjectBuilder projectBuilder = components.getProjectBuilder(); File pomFile;// ww w .j a va2 s.c o m ProjectBuildingResult result; MavenProject newProject; for (final MavenProject project : reactor) { pomFile = project.getFile(); try { result = projectBuilder.build(pomFile, session.getProjectBuildingRequest()); } catch (final ProjectBuildingException e) { this.logger.error(""); throw new SmartReactorReleaseException(e); } newProject = result.getProject(); if (project.isExecutionRoot()) { newProject.setExecutionRoot(true); } newReactor.add(newProject); } // Set the new list of projects, but don't replace the actual list // object. session.getProjects().clear(); session.getProjects().addAll(newReactor); }
From source file:org.debian.dependency.DefaultDependencyCollection.java
License:Apache License
private MavenProject buildProject(final String groupId, final String artifactId, final String version, final MavenSession session) throws DependencyResolutionException { Artifact artifact = repositorySystem.createProjectArtifact(groupId, artifactId, version); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()); request.setActiveProfileIds(null);//from w w w . j a va 2 s . co m request.setInactiveProfileIds(null); request.setProfiles(null); request.setResolveDependencies(false); // we may filter them out request.setUserProperties(null); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); try { ProjectBuildingResult result = projectBuilder.build(artifact, request); return result.getProject(); } catch (ProjectBuildingException e) { throw new DependencyResolutionException(e); } }
From source file:org.debian.dependency.sources.SCMSourceRetrieval.java
License:Apache License
private MavenProject constructProject(final Artifact artifact, final MavenSession session) throws SourceRetrievalException { try {/*from ww w . ja v a2 s.c o m*/ // pom files are not set up in projects which are not in the workspace, we add them in manually since they are needed Artifact pomArtifact = repositorySystem.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); pomArtifact = resolveArtifact(pomArtifact, session); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()); request.setActiveProfileIds(null); request.setInactiveProfileIds(null); request.setUserProperties(null); ProjectBuildingResult result = projectBuilder.build(artifact, request); MavenProject mavenProject = result.getProject(); mavenProject.setArtifact(resolveArtifact(mavenProject.getArtifact(), session)); mavenProject.setFile(pomArtifact.getFile()); return mavenProject; } catch (ProjectBuildingException e) { throw new SourceRetrievalException(e); } }
From source file:org.phenotips.tool.utils.MavenUtils.java
License:Open Source License
/** * Resolve a Maven artifact into a project object. * * @param artifact the coordinates of the project to resolve * @param session the current Maven session * @param projectBuilder the project builder active in this session * @return the project object, if successfully resolved * @throws MojoExecutionException if the project couldn't be resolved *//*from w ww . j a va2s. com*/ public static MavenProject getMavenProject(Artifact artifact, MavenSession session, ProjectBuilder projectBuilder) throws MojoExecutionException { try { ProjectBuildingRequest request = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()) // We don't want to execute any plugin here .setProcessPlugins(false) // It's not this plugin job to validate this pom.xml .setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL) // Use the repositories configured for the built project instead of the global Maven ones .setRemoteRepositories(session.getCurrentProject().getRemoteArtifactRepositories()); // Note: build() will automatically get the POM artifact corresponding to the passed artifact. ProjectBuildingResult result = projectBuilder.build(artifact, request); return result.getProject(); } catch (ProjectBuildingException e) { throw new MojoExecutionException(String.format("Failed to build project for [%s]", artifact), e); } }
From source file:org.phpmaven.project.impl.DependencyHelper.java
License:Apache License
public static Iterable<IAction> getDependencyActions(Artifact dep, IDependencyConfiguration depConfig, RepositorySystem reposSystem, MavenSession session, ProjectBuilder projectBuilder, IComponentFactory factory) throws MojoExecutionException { final List<IAction> actions = new ArrayList<IAction>(); boolean hasClassic = true; // try to find dependency configuration for (final IDependency depCfg : depConfig.getDependencies()) { if (depCfg.getGroupId().equals(dep.getGroupId()) && depCfg.getArtifactId().equals(dep.getArtifactId())) { hasClassic = false;//from w w w . j a v a 2 s.co m for (final IAction action : depCfg.getActions()) { if (action.getType() == ActionType.ACTION_CLASSIC) { hasClassic = true; } else { actions.add(action); } } break; } } if (hasClassic) { // try to resolve project defaults final Artifact artifact = resolveArtifact(dep.getGroupId(), dep.getArtifactId(), dep.getVersion(), "pom", null, reposSystem, session); final File pomFile = artifact.getFile(); final ProjectBuildingRequest pbr = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest()); pbr.setProcessPlugins(false); ProjectBuildingResult pbres; try { pbres = projectBuilder.build(pomFile, pbr); } catch (ProjectBuildingException e) { throw new MojoExecutionException("Error building project", e); } final MavenProject project = pbres.getProject(); final Xpp3Dom pluginConfig = factory.getBuildConfig(project, "org.phpmaven", "maven-php-dependency"); if (pluginConfig != null) { final Xpp3Dom defaultConfig = pluginConfig.getChild("defaults"); if (defaultConfig != null) { // filter the other nodes to prevent from broken configs on future versions while (pluginConfig.getChildCount() > 0) pluginConfig.removeChild(0); pluginConfig.addChild(defaultConfig); IDependencyConfiguration defCfg; try { defCfg = factory.lookup(IDependencyConfiguration.class, pluginConfig, null); } catch (ComponentLookupException e) { throw new MojoExecutionException("error receiving default config", e); } catch (PlexusConfigurationException e) { throw new MojoExecutionException("error receiving default config", e); } for (final IAction action : defCfg.getDefaults()) { actions.add(action); } hasClassic = false; } } // if hasClassic is still true we did not find any default config if (hasClassic) { actions.add(new Classic()); } } return actions; }
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.j a va 2s . co 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(); }