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

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

Introduction

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

Prototype

public void setModelVersion(String pomVersion) 

Source Link

Usage

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  ww w  . j a  v  a  2 s . 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.codehaus.griffon.maven.plugin.tools.DefaultGriffonServices.java

License:Apache License

public MavenProject createPOM(String groupId, GriffonProject griffonProjectDescriptor, String mtgGroupId,
        String griffonPluginArtifactId, String mtgVersion, boolean addEclipseSettings) {
    MavenProject pom = new MavenProject();
    if (pom.getBuild().getPluginManagement() == null) {
        pom.getBuild().setPluginManagement(new PluginManagement());
    }//w  w w.j a  v a2s  .c  o m
    PluginManagement pluginMgt = pom.getPluginManagement();

    // Those four properties are needed.
    pom.setModelVersion("4.0.0");
    pom.setPackaging("griffon-app");
    // Specific for GRAILS
    pom.getModel().getProperties().setProperty("griffonHome", "${env.GRIFFON_HOME}");
    pom.getModel().getProperties().setProperty("griffonVersion",
            griffonProjectDescriptor.getAppGriffonVersion());
    // Add our own plugin
    Plugin griffonPlugin = new Plugin();
    griffonPlugin.setGroupId(mtgGroupId);
    griffonPlugin.setArtifactId(griffonPluginArtifactId);
    griffonPlugin.setVersion(mtgVersion);
    griffonPlugin.setExtensions(true);
    pom.addPlugin(griffonPlugin);
    // Add compiler plugin settings
    Plugin compilerPlugin = new Plugin();
    compilerPlugin.setGroupId("org.apache.maven.plugins");
    compilerPlugin.setArtifactId("maven-compiler-plugin");
    Xpp3Dom compilerConfig = new Xpp3Dom("configuration");
    Xpp3Dom source = new Xpp3Dom("source");
    source.setValue("1.5");
    compilerConfig.addChild(source);
    Xpp3Dom target = new Xpp3Dom("target");
    target.setValue("1.5");
    compilerConfig.addChild(target);
    compilerPlugin.setConfiguration(compilerConfig);
    pom.addPlugin(compilerPlugin);
    // Add eclipse plugin settings
    if (addEclipseSettings) {
        Plugin eclipsePlugin = new Plugin();
        eclipsePlugin.setGroupId("org.apache.maven.plugins");
        eclipsePlugin.setArtifactId("maven-eclipse-plugin");
        Xpp3Dom configuration = new Xpp3Dom("configuration");
        Xpp3Dom projectnatures = new Xpp3Dom("additionalProjectnatures");
        Xpp3Dom projectnature = new Xpp3Dom("projectnature");
        projectnature.setValue("org.codehaus.groovy.eclipse.groovyNature");
        projectnatures.addChild(projectnature);
        configuration.addChild(projectnatures);
        Xpp3Dom additionalBuildcommands = new Xpp3Dom("additionalBuildcommands");
        Xpp3Dom buildcommand = new Xpp3Dom("buildcommand");
        buildcommand.setValue("org.codehaus.groovy.eclipse.groovyBuilder");
        additionalBuildcommands.addChild(buildcommand);
        configuration.addChild(additionalBuildcommands);
        Xpp3Dom packaging = new Xpp3Dom("packaging");
        packaging.setValue("zip");
        configuration.addChild(packaging);

        eclipsePlugin.setConfiguration(configuration);
        pluginMgt.addPlugin(eclipsePlugin);
    }
    // Change the default output directory to generate classes
    pom.getModel().getBuild().setOutputDirectory("web-app/WEB-INF/classes");

    pom.setArtifactId(griffonProjectDescriptor.getAppName());
    pom.setName(griffonProjectDescriptor.getAppName());
    pom.setGroupId(groupId);
    pom.setVersion(griffonProjectDescriptor.getAppVersion());
    if (!griffonProjectDescriptor.getAppVersion().endsWith("SNAPSHOT")) {
        getLogger().warn("=====================================================================");
        getLogger().warn("If your project is currently in development, in accordance with maven ");
        getLogger().warn("standards, its version must be " + griffonProjectDescriptor.getAppVersion()
                + "-SNAPSHOT and not " + griffonProjectDescriptor.getAppVersion() + ".");
        getLogger().warn("Please, change your version in the application.properties descriptor");
        getLogger().warn("and regenerate your pom.");
        getLogger().warn("=====================================================================");
    }
    return pom;
}

From source file:org.grails.maven.plugin.tools.DefaultGrailsServices.java

License:Apache License

public MavenProject createPOM(final String groupId, final GrailsProject grailsProjectDescriptor,
        final String mtgGroupId, final String grailsPluginArtifactId, final String mtgVersion,
        final boolean addEclipseSettings) {
    final MavenProject pom = new MavenProject();
    if (pom.getBuild().getPluginManagement() == null) {
        pom.getBuild().setPluginManagement(new PluginManagement());
    }//from w w  w. j  av a 2 s.  co m
    final PluginManagement pluginMgt = pom.getPluginManagement();

    // Those four properties are needed.
    pom.setModelVersion("4.0.0");
    pom.setPackaging("grails-app");
    // Specific for GRAILS
    pom.getModel().getProperties().setProperty("grailsHome", "${env.GRAILS_HOME}");
    pom.getModel().getProperties().setProperty("grailsVersion", grailsProjectDescriptor.getAppGrailsVersion());
    // Add our own plugin
    final Plugin grailsPlugin = new Plugin();
    grailsPlugin.setGroupId(mtgGroupId);
    grailsPlugin.setArtifactId(grailsPluginArtifactId);
    grailsPlugin.setVersion(mtgVersion);
    grailsPlugin.setExtensions(true);
    pom.addPlugin(grailsPlugin);
    // Add compiler plugin settings
    final Plugin compilerPlugin = new Plugin();
    compilerPlugin.setGroupId("org.apache.maven.plugins");
    compilerPlugin.setArtifactId("maven-compiler-plugin");
    final Xpp3Dom compilerConfig = new Xpp3Dom("configuration");
    final Xpp3Dom source = new Xpp3Dom("source");
    source.setValue("1.5");
    compilerConfig.addChild(source);
    final Xpp3Dom target = new Xpp3Dom("target");
    target.setValue("1.5");
    compilerConfig.addChild(target);
    compilerPlugin.setConfiguration(compilerConfig);
    pom.addPlugin(compilerPlugin);
    // Add eclipse plugin settings
    if (addEclipseSettings) {
        final Plugin warPlugin = new Plugin();
        warPlugin.setGroupId("org.apache.maven.plugins");
        warPlugin.setArtifactId("maven-war-plugin");
        final Xpp3Dom warConfig = new Xpp3Dom("configuration");
        final Xpp3Dom warSourceDirectory = new Xpp3Dom("warSourceDirectory");
        warSourceDirectory.setValue("web-app");
        warConfig.addChild(warSourceDirectory);
        warPlugin.setConfiguration(warConfig);
        pluginMgt.addPlugin(warPlugin);

        final Plugin eclipsePlugin = new Plugin();
        eclipsePlugin.setGroupId("org.apache.maven.plugins");
        eclipsePlugin.setArtifactId("maven-eclipse-plugin");
        final Xpp3Dom configuration = new Xpp3Dom("configuration");
        final Xpp3Dom projectnatures = new Xpp3Dom("additionalProjectnatures");
        final Xpp3Dom projectnature = new Xpp3Dom("projectnature");
        projectnature.setValue("org.codehaus.groovy.eclipse.groovyNature");
        projectnatures.addChild(projectnature);
        configuration.addChild(projectnatures);
        final Xpp3Dom additionalBuildcommands = new Xpp3Dom("additionalBuildcommands");
        final Xpp3Dom buildcommand = new Xpp3Dom("buildcommand");
        buildcommand.setValue("org.codehaus.groovy.eclipse.groovyBuilder");
        additionalBuildcommands.addChild(buildcommand);
        configuration.addChild(additionalBuildcommands);
        // Xpp3Dom additionalProjectFacets = new Xpp3Dom(
        // "additionalProjectFacets");
        // Xpp3Dom jstWeb = new Xpp3Dom("jst.web");
        // jstWeb.setValue("2.5");
        // additionalProjectFacets.addChild(jstWeb);
        // configuration.addChild(additionalProjectFacets);
        final Xpp3Dom packaging = new Xpp3Dom("packaging");
        packaging.setValue("war");
        configuration.addChild(packaging);

        eclipsePlugin.setConfiguration(configuration);
        pluginMgt.addPlugin(eclipsePlugin);
    }
    // Change the default output directory to generate classes
    pom.getModel().getBuild().setOutputDirectory("web-app/WEB-INF/classes");

    pom.setArtifactId(grailsProjectDescriptor.getAppName());
    pom.setName(grailsProjectDescriptor.getAppName());
    pom.setGroupId(groupId);
    pom.setVersion(grailsProjectDescriptor.getAppVersion());
    if (!grailsProjectDescriptor.getAppVersion().endsWith("SNAPSHOT")) {
        getLogger().warn("=====================================================================");
        getLogger().warn("If your project is currently in development, in accordance with maven ");
        getLogger().warn("standards, its version must be " + grailsProjectDescriptor.getAppVersion()
                + "-SNAPSHOT and not " + grailsProjectDescriptor.getAppVersion() + ".");
        getLogger().warn("Please, change your version in the application.properties descriptor");
        getLogger().warn("and regenerate your pom.");
        getLogger().warn("=====================================================================");
    }
    return pom;
}

From source file:org.jboss.forge.addon.maven.projects.MavenFacetImpl.java

License:Open Source License

private String createDefaultPOM() {
    MavenXpp3Writer writer = new MavenXpp3Writer();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    org.apache.maven.project.MavenProject mavenProject = new org.apache.maven.project.MavenProject();
    mavenProject.setModelVersion("4.0.0");
    try {/*from ww  w.jav a 2s .com*/
        writer.write(baos, mavenProject.getModel());
        return baos.toString();
    } catch (IOException e) {
        // Should not happen
        throw new RuntimeException("Failed to create default pom.xml", e);
    }
}