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

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

Introduction

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

Prototype

public MavenProject() 

Source Link

Usage

From source file:org.ops4j.pax.construct.lifecycle.ProvisionMojo.java

License:Apache License

/**
 * Create new POM (based on the root POM) which lists the deployed bundles as dependencies
 * /*  w  ww.  j ava2  s .  com*/
 * @param bundles list of bundles to be deployed
 * @return deployment project
 * @throws MojoExecutionException
 */
private MavenProject createDeploymentProject(List bundles) throws MojoExecutionException {
    MavenProject deployProject;

    if (null == m_project.getFile()) {
        deployProject = new MavenProject();
        deployProject.setGroupId("examples");
        deployProject.setArtifactId("pax-provision");
        deployProject.setVersion("1.0-SNAPSHOT");
    } else {
        deployProject = new MavenProject(m_project);
    }

    String internalId = PomUtils.getCompoundId(deployProject.getGroupId(), deployProject.getArtifactId());
    deployProject.setGroupId(internalId + ".build");
    deployProject.setArtifactId("deployment");

    // remove unnecessary cruft
    deployProject.setPackaging("pom");
    deployProject.getModel().setModules(null);
    deployProject.getModel().setDependencies(bundles);
    deployProject.getModel().setPluginRepositories(null);
    deployProject.getModel().setReporting(null);
    deployProject.setBuild(null);

    File deployFile = new File(deployProject.getBasedir(), "runner/deploy-pom.xml");

    deployFile.getParentFile().mkdirs();
    deployProject.setFile(deployFile);

    try {
        Writer writer = StreamFactory.newXmlWriter(deployFile);
        deployProject.writeModel(writer);
        IOUtil.close(writer);
    } catch (IOException e) {
        throw new MojoExecutionException("Unable to write deployment POM " + deployFile);
    }

    return deployProject;
}

From source file:org.reficio.p2.TychoFeatureBuilder.java

License:Open Source License

public void execute() throws MojoExecutionException, IOException {
    MavenProject mp = new MavenProject();
    mp.getModel().setGroupId(this.mavenProject.getGroupId());
    mp.getModel().setArtifactId(featureId);
    mp.getModel().setVersion(featureVersion);
    mp.getModel().setPackaging("eclipse-feature");
    mp.setPluginArtifactRepositories(this.mavenProject.getPluginArtifactRepositories());
    mp.setFile(featureFile); //sets the basedir for the MavenProject
    org.eclipse.tycho.artifacts.DependencyArtifacts da = new DefaultTargetPlatform();
    mp.setContextValue(TychoConstants.CTX_DEPENDENCY_ARTIFACTS, da);
    mavenSession.setCurrentProject(mp);//from www. j a  va2s.  c o m
    executeMojo(
            plugin(groupId("org.eclipse.tycho"), artifactId("tycho-packaging-plugin"), version(TYCHO_VERSION)),
            goal("package-feature"),
            configuration(element(name("finalName"), this.featureId + "_" + this.featureVersion + ".jar"),
                    element(name("basedir"), this.featureFile.getParent()),
                    element(name("outputDirectory"), outputDirectory)),
            executionEnvironment(mp, mavenSession, buildPluginManager));

}

From source file:org.sonar.batch.InMemoryPomCreator.java

License:Open Source License

public MavenProject create() {
    File workDir = project.getWorkDir();
    String buildDirectory = workDir.getAbsolutePath() + "/target";
    Properties properties = project.getProperties();

    if (project.getBinaries().size() == 0) {
        project.addBinaryDir(buildDirectory + "/classes");
    }//from w w w  . ja  v  a2s  . c o  m

    final MavenProject pom = new MavenProject() {
        /**
         * This allows to specify base directory without specifying location of a pom.xml
         */
        @Override
        public File getBasedir() {
            return project.getBaseDir();
        };

        /**
         * This allows to specify project classpath (binaries + libraries).
         */
        @Override
        public List<String> getCompileClasspathElements() throws DependencyResolutionRequiredException {
            List<String> cp = new ArrayList<String>();
            cp.addAll(project.getBinaries());
            cp.addAll(project.getLibraries());
            return cp;
        }
    };

    String key = getPropertyOrDie(properties, CoreProperties.PROJECT_KEY_PROPERTY);
    String[] keys = key.split(":");
    pom.setGroupId(keys[0]);
    pom.setArtifactId(keys[1]);
    pom.setVersion(getPropertyOrDie(properties, CoreProperties.PROJECT_VERSION_PROPERTY));

    pom.setName(properties.getProperty(CoreProperties.PROJECT_NAME_PROPERTY, "Unnamed - " + key));
    pom.setDescription(properties.getProperty(CoreProperties.PROJECT_DESCRIPTION_PROPERTY, ""));

    pom.getModel().setProperties(properties);

    pom.setArtifacts(Collections.EMPTY_SET);

    // Configure fake directories
    pom.getBuild().setDirectory(buildDirectory);
    pom.getBuild().setOutputDirectory(project.getBinaries().get(0));
    Reporting reporting = new Reporting();
    String reportingOutputDirectory = buildDirectory + "/site";
    reporting.setOutputDirectory(reportingOutputDirectory);
    pom.setReporting(reporting);

    // Configure source directories
    for (String dir : project.getSourceDirs()) {
        pom.addCompileSourceRoot(dir);
    }

    // Configure test directories
    for (String dir : project.getTestDirs()) {
        pom.addTestCompileSourceRoot(dir);
    }

    return pom;
}

From source file:pl.project13.maven.git.FileSystemMavenSandbox.java

License:Open Source License

@NotNull
private MavenProject createProject(File basedir, String packaging) {
    MavenProject project = new MavenProject();
    project.setBasedir(basedir);/*  www .j  a  v a2 s . co m*/
    project.setPackaging(packaging);
    return project;
}