Example usage for org.apache.maven.project MavenProject setExecutionRoot

List of usage examples for org.apache.maven.project MavenProject setExecutionRoot

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject setExecutionRoot.

Prototype

public void setExecutionRoot(boolean executionRoot) 

Source Link

Usage

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;//from w  w w. j  a  v  a 2s .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:io.sundr.maven.GenerateBomMojo.java

License:Apache License

/**
 * Returns the generated {@link org.apache.maven.project.MavenProject} to build.
 * This version of the project contains all the stuff needed for building (parents, profiles, properties etc).
 *
 * @param project The source {@link org.apache.maven.project.MavenProject}.
 * @param config  The {@link io.sundr.maven.BomConfig}.
 * @return The build {@link org.apache.maven.project.MavenProject}.
 */// w  ww.  j av a 2s  .co  m
private static MavenProject toBuild(MavenProject project, BomConfig config) {
    File outputDir = new File(project.getBuild().getOutputDirectory());
    File bomDir = new File(outputDir, config.getArtifactId());
    File generatedBom = new File(bomDir, BOM_NAME);

    MavenProject toBuild = project.clone();
    //we want to avoid recursive "generate-bom".
    toBuild.setExecutionRoot(false);
    toBuild.setFile(generatedBom);
    toBuild.getModel().setPomFile(generatedBom);
    toBuild.setModelVersion(project.getModelVersion());

    toBuild.setArtifact(new DefaultArtifact(project.getGroupId(), config.getArtifactId(), project.getVersion(),
            project.getArtifact().getScope(), project.getArtifact().getType(),
            project.getArtifact().getClassifier(), project.getArtifact().getArtifactHandler()));

    toBuild.setParent(project.getParent());
    toBuild.getModel().setParent(project.getModel().getParent());

    toBuild.setGroupId(project.getGroupId());
    toBuild.setArtifactId(config.getArtifactId());
    toBuild.setVersion(project.getVersion());
    toBuild.setPackaging("pom");
    toBuild.setName(config.getName());
    toBuild.setDescription(config.getDescription());

    toBuild.setUrl(project.getUrl());
    toBuild.setLicenses(project.getLicenses());
    toBuild.setScm(project.getScm());
    toBuild.setDevelopers(project.getDevelopers());
    toBuild.setDistributionManagement(project.getDistributionManagement());
    toBuild.getModel().setProfiles(project.getModel().getProfiles());

    //We want to avoid having the generated stuff wiped.
    toBuild.getProperties().put("clean.skip", "true");
    toBuild.getModel().getBuild().setDirectory(bomDir.getAbsolutePath());
    toBuild.getModel().getBuild().setOutputDirectory(new File(bomDir, "target").getAbsolutePath());
    for (String key : config.getProperties().stringPropertyNames()) {
        toBuild.getProperties().put(key, config.getProperties().getProperty(key));
    }
    return toBuild;
}