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

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

Introduction

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

Prototype

public void setScm(Scm scm) 

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 .  j  a va 2s  . 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 www . ja va  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;
}