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

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

Introduction

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

Prototype

@Override
public MavenProject clone() 

Source Link

Usage

From source file:io.sundr.maven.GenerateBomMojo.java

License:Apache License

/**
 * Returns the model of the {@link org.apache.maven.project.MavenProject} to generate.
 * This is a trimmed down version and contains just the stuff that need to go into the bom.
 *
 * @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}.
 *//*from w  w  w  .ja  va2s  . co m*/
private static MavenProject toGenerate(MavenProject project, BomConfig config,
        Collection<Dependency> dependencies, Set<Artifact> plugins) {
    MavenProject toGenerate = project.clone();
    toGenerate.setGroupId(project.getGroupId());
    toGenerate.setArtifactId(config.getArtifactId());
    toGenerate.setVersion(project.getVersion());
    toGenerate.setPackaging("pom");
    toGenerate.setName(config.getName());
    toGenerate.setDescription(config.getDescription());

    toGenerate.setUrl(project.getUrl());
    toGenerate.setLicenses(project.getLicenses());
    toGenerate.setScm(project.getScm());
    toGenerate.setDevelopers(project.getDevelopers());

    toGenerate.getModel().setDependencyManagement(new DependencyManagement());
    for (Dependency dependency : dependencies) {
        toGenerate.getDependencyManagement().addDependency(dependency);
    }

    toGenerate.getModel().setBuild(new Build());
    if (!plugins.isEmpty()) {
        toGenerate.getModel().setBuild(new Build());
        toGenerate.getModel().getBuild().setPluginManagement(new PluginManagement());
        for (Artifact artifact : plugins) {
            toGenerate.getPluginManagement().addPlugin(toPlugin(artifact));
        }
    }

    return toGenerate;
}

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}.
 *///from   w w  w.  j  a va 2s.  c o  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;
}

From source file:org.sourcepit.b2.release.B2ReleaseHelper.java

License:Apache License

public MavenProject adaptModuleProject(MavenProject reactorProject) {
    MavenProject moduleProject = (MavenProject) reactorProject.getContextValue("b2.moduleProject");
    if (moduleProject == null) {
        if (bridge.getModule(reactorProject) != null) {
            moduleProject = (MavenProject) reactorProject.clone();
            moduleProject.setFile(new File(reactorProject.getBasedir(), "module.xml"));
            reactorProject.setContextValue("b2.moduleProject", moduleProject);
        }//from  w w  w.  ja  va 2  s  .c om
    }
    return moduleProject;
}

From source file:org.sourcepit.common.maven.core.MavenProjectUtils.java

License:Apache License

private static ArtifactRepository getDistributionManagementRepository(MavenProject project, String version) {
    final MavenProject clone = project.clone();
    clone.setVersion(version);/*from ww w.ja va2 s.  c o m*/
    clone.getModel().setVersion(version);
    clone.getArtifact().setVersion(version);
    return clone.getDistributionManagementArtifactRepository();
}

From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java

License:Apache License

private MavenProject filterUnconnectableRepos(MavenProject project) {
    final RepositorySystemSession repositorySession = buildContext.getRepositorySession();

    final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories();
    final List<ArtifactRepository> validRepositories = new ArrayList<ArtifactRepository>();
    final List<ArtifactRepository> invalidRepositories = new ArrayList<ArtifactRepository>();
    for (ArtifactRepository artifactRepository : repositories) {
        try {// w  w  w  .j av  a  2  s . co  m
            repositoryConnectorProvider.newRepositoryConnector(repositorySession, toRepo(artifactRepository));
            validRepositories.add(artifactRepository);
        } catch (NoRepositoryConnectorException e) {
            invalidRepositories.add(artifactRepository);
        }
    }

    if (!invalidRepositories.isEmpty()) {
        project = project.clone();
        project.setRemoteArtifactRepositories(validRepositories);
    }

    return project;
}