Example usage for org.apache.maven.project ProjectBuildingRequest setActiveProfileIds

List of usage examples for org.apache.maven.project ProjectBuildingRequest setActiveProfileIds

Introduction

In this page you can find the example usage for org.apache.maven.project ProjectBuildingRequest setActiveProfileIds.

Prototype

void setActiveProfileIds(List<String> activeProfileIds);

Source Link

Document

Set any active profiles that the ProjectBuilder should consider while constructing a MavenProject .

Usage

From source file:com.liferay.maven.plugins.AbstractToolsLiferayMojo.java

License:Open Source License

protected MavenProject resolveProject(Artifact artifact) throws Exception {
    Artifact pomArtifact = artifact;/*from  w w w. j a  v a  2 s .  com*/

    String type = artifact.getType();

    if (!type.equals("pom")) {
        pomArtifact = artifactFactory.createArtifact(artifact.getGroupId(), artifact.getArtifactId(),
                artifact.getVersion(), "", "pom");
    }

    ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest();

    projectBuildingRequest.setLocalRepository(localArtifactRepository);
    projectBuildingRequest.setRemoteRepositories(remoteArtifactRepositories);
    projectBuildingRequest.setRepositorySession(session.getRepositorySession());

    List<String> activeProfileIds = new ArrayList<String>();

    MavenExecutionRequest mavenExecutionRequest = session.getRequest();

    for (String activeProfile : mavenExecutionRequest.getActiveProfiles()) {
        activeProfileIds.add(activeProfile);
    }

    projectBuildingRequest.setActiveProfileIds(activeProfileIds);
    projectBuildingRequest.setProfiles(mavenExecutionRequest.getProfiles());

    ProjectBuildingResult projectBuildingResult = projectBuilder.build(pomArtifact, true,
            projectBuildingRequest);

    return projectBuildingResult.getProject();
}

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 {//ww w .  j a  va 2 s . 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:net.flexmojos.oss.plugin.war.CopyMojo.java

License:Open Source License

private MavenProject getProject(Artifact artifact) throws MojoExecutionException {
    try {/*from  w  ww .ja v a 2 s. c om*/
        ProjectBuildingRequest request = new DefaultProjectBuildingRequest();
        request.setLocalRepository(localRepository);
        request.setRemoteRepositories(remoteRepositories);
        request.setResolveDependencies(true);
        ArrayList<String> ids = new ArrayList<String>();
        for (Profile profile : project.getActiveProfiles()) {
            ids.add(profile.getId());
        }
        request.setActiveProfileIds(ids);
        request.setRepositorySession(session.getRepositorySession());
        return projectBuilder.build(artifact, request).getProject();
    } catch (ProjectBuildingException e) {
        getLog().warn("Failed to retrieve pom for " + artifact);
        return null;
    }
}

From source file:net.oneandone.maven.embedded.Maven.java

License:Apache License

public MavenProject loadPom(FileNode file, boolean resolve, Properties userProperties, List<String> profiles,
        List<Dependency> dependencies) throws RepositoryException, ProjectBuildingException {
    ProjectBuildingRequest request;
    ProjectBuildingResult result;/*w w  w .j a  v a 2 s  .c  o  m*/
    List<Exception> problems;

    request = new DefaultProjectBuildingRequest();
    request.setRepositorySession(repositorySession);
    request.setRemoteRepositories(remoteLegacy);
    request.setProcessPlugins(false);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    request.setSystemProperties(System.getProperties());
    if (userProperties != null) {
        request.setUserProperties(userProperties);
    }
    // If you don't turn this into RepositoryMerging.REQUEST_DOMINANT the dependencies will be resolved against Maven Central
    // and not against the configured repositories. The default of the DefaultProjectBuildingRequest is
    // RepositoryMerging.POM_DOMINANT.
    request.setRepositoryMerging(ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT);
    request.setResolveDependencies(resolve);
    if (profiles != null) {
        request.setActiveProfileIds(profiles);
    }
    result = builder.build(file.toPath().toFile(), request);

    // TODO: i've seen these collection errors for a dependency with ranges. Why does Aether NOT throw an exception in this case?
    if (result.getDependencyResolutionResult() != null) {
        problems = result.getDependencyResolutionResult().getCollectionErrors();
        if (problems != null && !problems.isEmpty()) {
            throw new RepositoryException("collection errors: " + problems.toString(), problems.get(0));
        }
    }

    if (dependencies != null) {
        if (!resolve) {
            throw new IllegalArgumentException();
        }
        dependencies.addAll(result.getDependencyResolutionResult().getDependencies());
    }
    return result.getProject();
}

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);
    request.setInactiveProfileIds(null);
    request.setProfiles(null);/*ww w. j  a va2  s. c  o  m*/
    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 w  w  w  .ja va  2  s  .co 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.jboss.ce.mvns2i.MavenUtils.java

License:Open Source License

public String getDeploymentDir(String projectDir) throws Exception {
    ProjectBuilder projectBuilder = create(ProjectBuilder.class);

    File pomFile = new File(projectDir, "pom.xml");

    MavenExecutionRequest mer = new DefaultMavenExecutionRequest();

    File mvnDir;//from   w  w  w. j  a v  a2s  .  c o m
    String m2dir = System.getProperty("maven.repo");
    if (m2dir != null) {
        mvnDir = new File(m2dir);
    } else {
        mvnDir = new File(System.getProperty("user.home"), ".m2/repository");
    }
    if (mvnDir.exists() == false) {
        //noinspection ResultOfMethodCallIgnored
        mvnDir.mkdirs();
    }
    log.info(String.format("Using Maven repository: %s", mvnDir));

    final Checker checker = new Checker();
    ProjectBuildingRequest request = mer.getProjectBuildingRequest();
    request.setActiveProfileIds(Collections.singletonList(checker.getDefaultProfile()));

    MavenArtifactRepository artifactRepository = new MavenArtifactRepository("local", mvnDir.toURI().toString(),
            create(ArtifactRepositoryLayout.class), new ArtifactRepositoryPolicy(),
            new ArtifactRepositoryPolicy());
    request.setLocalRepository(artifactRepository);

    DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
    session.setOffline(!Boolean.getBoolean("online")); // use offline by default

    LocalRepository localRepository = new LocalRepository(mvnDir);
    LocalRepositoryManager localRepositoryManager = create(LocalRepositoryManagerFactory.class)
            .newInstance(session, localRepository);
    session.setLocalRepositoryManager(localRepositoryManager);
    request.setRepositorySession(session);

    MavenRepositorySystem mrs = create(MavenRepositorySystem.class);
    ArtifactRepository remoteRepository = mrs.createDefaultRemoteRepository(mer);
    List<ArtifactRepository> repositories = Arrays.asList(artifactRepository, remoteRepository);
    request.setRemoteRepositories(repositories);

    MavenProject project = projectBuilder.build(pomFile, request).getProject();
    recurse(projectBuilder, request, checker, new File(projectDir), "", project);

    return checker.result();
}

From source file:org.jszip.maven.RunMojo.java

License:Apache License

private List<MavenProject> buildReactorProjects() throws Exception {

    List<MavenProject> projects = new ArrayList<MavenProject>();
    for (MavenProject p : reactorProjects) {
        ProjectBuildingRequest request = ProjectBuildingRequestCreator.create(session);

        request.setProcessPlugins(true);
        request.setProfiles(request.getProfiles());
        request.setActiveProfileIds(session.getRequest().getActiveProfiles());
        request.setInactiveProfileIds(session.getRequest().getInactiveProfiles());
        request.setRemoteRepositories(session.getRequest().getRemoteRepositories());
        request.setSystemProperties(session.getSystemProperties());
        request.setUserProperties(session.getUserProperties());
        request.setRemoteRepositories(session.getRequest().getRemoteRepositories());
        request.setPluginArtifactRepositories(session.getRequest().getPluginArtifactRepositories());
        request.setLocalRepository(localRepository);
        request.setBuildStartTime(session.getRequest().getStartTime());
        request.setResolveDependencies(true);
        request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_STRICT);
        projects.add(projectBuilder.build(p.getFile(), request).getProject());
    }/*from  w  w  w. j  a va 2  s.  c  o m*/
    return new ProjectSorter(projects).getSortedProjects();
}

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  va  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);//w w  w.  ja v  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"));
    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;
}