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

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

Introduction

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

Prototype

public String getId() 

Source Link

Usage

From source file:org.codehaus.mojo.nbm.CreateClusterMojo.java

License:Apache License

public void execute() throws MojoExecutionException, MojoFailureException {
    Project antProject = registerNbmAntTasks();

    if (!nbmBuildDir.exists()) {
        nbmBuildDir.mkdirs();//from  w w  w  .  j  a v  a  2 s  .  c  om
    }

    if (reactorProjects != null && reactorProjects.size() > 0) {
        for (MavenProject proj : reactorProjects) {
            //TODO how to figure where the the buildDir/nbm directory is
            File nbmDir = new File(proj.getBasedir(),
                    "target" + File.separator + "nbm" + File.separator + "netbeans");
            if (nbmDir.exists()) {
                Copy copyTask = (Copy) antProject.createTask("copy");
                copyTask.setTodir(nbmBuildDir);
                copyTask.setOverwrite(true);
                FileSet set = new FileSet();
                set.setDir(nbmDir);
                set.createInclude().setName("**");
                copyTask.addFileset(set);

                try {
                    copyTask.execute();
                } catch (BuildException ex) {
                    getLog().error("Cannot merge modules into cluster");
                    throw new MojoExecutionException("Cannot merge modules into cluster", ex);
                }
            } else {
                if ("nbm".equals(proj.getPackaging())) {
                    String error = "The NetBeans binary directory structure for " + proj.getId()
                            + " is not created yet."
                            + "\n Please execute 'mvn install nbm:cluster' to build all relevant projects in the reactor.";
                    throw new MojoFailureException(error);
                }
                if ("bundle".equals(proj.getPackaging())) {
                    Artifact art = proj.getArtifact();
                    final ExamineManifest mnf = new ExamineManifest(getLog());

                    File jar = new File(proj.getBuild().getDirectory(),
                            proj.getBuild().getFinalName() + ".jar");
                    if (!jar.exists()) {
                        getLog().error("Skipping " + proj.getId()
                                + ". Cannot find the main artifact in output directory.");
                        continue;
                    }
                    mnf.setJarFile(jar);
                    mnf.checkFile();

                    File cluster = new File(nbmBuildDir, defaultCluster);
                    getLog().debug("Copying " + art.getId() + " to cluster " + defaultCluster);
                    File modules = new File(cluster, "modules");
                    modules.mkdirs();
                    File config = new File(cluster, "config");
                    File confModules = new File(config, "Modules");
                    confModules.mkdirs();
                    File updateTracting = new File(cluster, "update_tracking");
                    updateTracting.mkdirs();

                    final String cnb = mnf.getModule();
                    final String cnbDashed = cnb.replace(".", "-");
                    final File moduleArt = new File(modules, cnbDashed + ".jar"); //do we need the file in some canotical name pattern?
                    final String specVer = mnf.getSpecVersion();
                    try {
                        FileUtils.copyFile(jar, moduleArt);
                        final File moduleConf = new File(confModules, cnbDashed + ".xml");
                        FileUtils.copyStreamToFile(new InputStreamFacade() {
                            public InputStream getInputStream() throws IOException {
                                return new StringInputStream(CreateClusterAppMojo.createBundleConfigFile(cnb,
                                        mnf.isBundleAutoload()), "UTF-8");
                            }
                        }, moduleConf);
                        FileUtils.copyStreamToFile(new InputStreamFacade() {
                            public InputStream getInputStream() throws IOException {
                                return new StringInputStream(CreateClusterAppMojo.createBundleUpdateTracking(
                                        cnb, moduleArt, moduleConf, specVer), "UTF-8");
                            }
                        }, new File(updateTracting, cnbDashed + ".xml"));
                    } catch (IOException exc) {
                        getLog().error(exc);
                    }

                }
            }
        }
        //in 6.1 the rebuilt modules will be cached if the timestamp is not touched.
        File[] files = nbmBuildDir.listFiles();
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {
                File stamp = new File(files[i], ".lastModified");
                if (!stamp.exists()) {
                    try {
                        stamp.createNewFile();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }
                stamp.setLastModified(new Date().getTime());
            }
        }
        getLog().info("Created NetBeans module cluster(s) at " + nbmBuildDir);
    } else {
        throw new MojoExecutionException("This goal only makes sense on reactor projects.");
    }
}

From source file:org.codehaus.mojo.pluginsupport.dependency.DependencyHelper.java

License:Apache License

public static Map getManagedVersionMap(final MavenProject project, final ArtifactFactory factory)
        throws ProjectBuildingException {
    assert project != null;
    assert factory != null;

    DependencyManagement dependencyManagement = project.getDependencyManagement();
    Map managedVersionMap;// ww w  .  ja va  2 s.com

    if (dependencyManagement != null && dependencyManagement.getDependencies() != null) {
        managedVersionMap = new HashMap();
        Iterator iter = dependencyManagement.getDependencies().iterator();

        while (iter.hasNext()) {
            Dependency d = (Dependency) iter.next();

            try {
                VersionRange versionRange = VersionRange.createFromVersionSpec(d.getVersion());
                Artifact artifact = factory.createDependencyArtifact(d.getGroupId(), d.getArtifactId(),
                        versionRange, d.getType(), d.getClassifier(), d.getScope());
                managedVersionMap.put(d.getManagementKey(), artifact);
            } catch (InvalidVersionSpecificationException e) {
                throw new ProjectBuildingException(project.getId(), "Unable to parse version '" + d.getVersion()
                        + "' for dependency '" + d.getManagementKey() + "': " + e.getMessage(), e);
            }
        }
    } else {
        managedVersionMap = Collections.EMPTY_MAP;
    }

    return managedVersionMap;
}

From source file:org.codehaus.mojo.pom.PomRefactorMojo.java

License:Apache License

protected void updateProject(ProjectContainer projectContainer, MavenProject project, boolean parent)
        throws MojoExecutionException, MojoFailureException {

    if (getMatcher().isMatching(project)) {
        DependencyInfo delta = getNewAttributes().getDiff(project);
        if (!delta.isEmpty()) {
            String source;//from   w  w  w.  j  a  v a2  s . c o m
            if (parent) {
                source = "parent";
            } else {
                source = "project";
            }
            getLog().info("Changing " + source + " " + project.getId() + " to " + delta.toDiffString());
            Element elementProject = projectContainer.getPomDocument().getDocumentElement();
            if (parent) {
                elementProject = DomUtilities.getChildElement(elementProject, ProjectContainer.XML_TAG_PARENT);
            }
            if (delta.getGroupId() != null) {
                updateValue(elementProject, ProjectContainer.XML_TAG_GROUPID, projectContainer,
                        delta.getGroupId());
            }
            if (delta.getArtifactId() != null) {
                updateValue(elementProject, ProjectContainer.XML_TAG_ARTIFACTID, projectContainer,
                        delta.getArtifactId());
            }
            if (delta.getVersion() != null) {
                updateValue(elementProject, ProjectContainer.XML_TAG_VERSION, projectContainer,
                        delta.getVersion());
            }
        }
    }
}

From source file:org.codehaus.mojo.tomcat.RunMojo.java

License:Apache License

protected boolean isInProjectReferences(Artifact artifact) {
    if (project.getProjectReferences() == null || project.getProjectReferences().isEmpty()) {
        return false;
    }/*from w  w w .  ja  v  a2  s  .  com*/
    @SuppressWarnings("unchecked")
    Collection<MavenProject> mavenProjects = project.getProjectReferences().values();
    for (MavenProject mavenProject : mavenProjects) {
        if (StringUtils.equals(mavenProject.getId(), artifact.getId())) {
            return true;
        }
    }
    return false;
}

From source file:org.commonjava.emb.artifact.resolver.SimpleResolutionListener.java

License:Open Source License

private void logProjectResolution(final ProjectDependencyResolutionEvent event) {
    final Collection<? extends MavenProject> projects = event.getProjects();
    final Set<Artifact> resolvedArtifacts = event.getResolvedArtifacts();

    final StringBuilder sb = new StringBuilder();
    sb.append("Projects Resolved:\n---------------------\n\n");
    for (final MavenProject mavenProject : projects) {
        sb.append("  ").append(mavenProject.getId()).append("\n");
    }//from   w  ww .ja  va  2 s.c o  m

    appendArtifactInfo(resolvedArtifacts, sb);

    for (final MavenProject project : projects) {
        writeFile(sb, new File(project.getBuild().getDirectory(),
                "project-" + project.getId().replace(':', '_') + ".resolver.log"));
    }
}

From source file:org.commonjava.emb.example.resolution.logger.SimpleProjectResolutionListener.java

License:Open Source License

public void handle(final EMBEvent evt) {
    if (evt instanceof ProjectDependencyResolutionEvent) {
        final ProjectDependencyResolutionEvent event = (ProjectDependencyResolutionEvent) evt;

        final Collection<? extends MavenProject> projects = event.getProjects();
        final Set<org.apache.maven.artifact.Artifact> resolvedArtifacts = event.getResolvedArtifacts();

        final StringBuilder sb = new StringBuilder();
        sb.append("Projects Resolved:\n---------------------\n\n");
        for (final MavenProject mavenProject : projects) {
            sb.append("  ").append(mavenProject.getId()).append("\n");
        }/*from  w w w  .ja  v a2 s  . c  o m*/

        appendArtifactInfo(resolvedArtifacts, sb);

        for (final MavenProject project : projects) {
            writeFile(sb, new File(project.getBuild().getDirectory(),
                    "project-" + project.getId().replace(':', '_') + ".resolver.log"));
        }
    }
}

From source file:org.commonjava.poc.ral.AppLauncher.java

License:Open Source License

public AppLauncher(final Options options) throws AppLauncherException {
    setupLogging(Level.INFO);//from  www  .  j a va  2 s  . c o  m

    this.options = options;

    try {
        load();
    } catch (MAEException e) {
        throw new AppLauncherException("Failed to initialize MAE subsystem: %s", e, e.getMessage());
    }

    SimpleProjectToolsSession session = new SimpleProjectToolsSession();
    session.setPomValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    session.setDependencySelector(
            new FlexibleScopeDependencySelector(org.apache.maven.artifact.Artifact.SCOPE_TEST,
                    org.apache.maven.artifact.Artifact.SCOPE_PROVIDED).setTransitive(true));

    MavenProject project = loadProject(options.coordinate, session);

    DependencyGraph depGraph = resolveDependencies(project, session);

    List<URL> urls = new ArrayList<URL>();
    try {
        ArtifactResult result = repositorySystem.resolveArtifact(session.getRepositorySystemSession(),
                new ArtifactRequest(RepositoryUtils.toArtifact(project.getArtifact()),
                        session.getRemoteRepositoriesForResolution(), null));

        mainJar = result.getArtifact().getFile().toURI().normalize().toURL();
        urls.add(mainJar);
    } catch (ArtifactResolutionException e) {
        throw new AppLauncherException("Failed to resolve main project artifact: %s. Reason: %s", e,
                project.getId(), e.getMessage());
    } catch (MalformedURLException e) {
        throw new AppLauncherException("Cannot format classpath URL from: %s. Reason: %s", e, project.getId(),
                e.getMessage());
    }

    for (DepGraphNode node : depGraph) {
        try {
            ArtifactResult result = node.getLatestResult();
            if (result == null) {
                if (node.getKey()
                        .equals(key(project.getGroupId(), project.getArtifactId(), project.getVersion()))) {
                    continue;
                } else {
                    throw new AppLauncherException("Failed to resolve: %s", node.getKey());
                }
            }

            Artifact artifact = result.getArtifact();
            File file = artifact.getFile();
            URL url = file.toURI().normalize().toURL();
            urls.add(url);
        } catch (MalformedURLException e) {
            throw new AppLauncherException("Cannot format classpath URL from: %s. Reason: %s", e, node.getKey(),
                    e.getMessage());
        }
    }

    classLoader = new URLClassLoader(urls.toArray(new URL[] {}), ClassLoader.getSystemClassLoader());
}

From source file:org.eclipse.che.maven.server.EffectivePomWriter.java

License:Apache License

/**
 * method from org.apache.maven.plugins.help.EffectivePomMojo
 * Method for writing the effective pom informations of the current build.
 *
 * @param project the project of the current build, not null.
 * @param writer the XML writer , not null, not null.
 * @throws MojoExecutionException if any
 *///from  w  w w .  j  a  v a 2 s.  c o  m
private static void writeEffectivePom(MavenProject project, XMLWriter writer) throws MojoExecutionException {
    Model pom = project.getModel();
    cleanModel(pom);

    String effectivePom;

    StringWriter sWriter = new StringWriter();
    MavenXpp3Writer pomWriter = new MavenXpp3Writer();
    try {
        pomWriter.write(sWriter, pom);
    } catch (IOException e) {
        throw new MojoExecutionException("Cannot serialize POM to XML.", e);
    }

    effectivePom = addMavenNamespace(sWriter.toString(), true);

    writeComment(writer, "Effective POM for project \'" + project.getId() + "\'");

    writer.writeMarkup(effectivePom);
}

From source file:org.eclipse.scada.build.helper.AbstractSetQualifierMojo.java

License:Open Source License

private void checkNonRelativeParent(final MavenProject project) {
    if (project.getModel().getParent() == null) {
        // no parent
        return;//www.  j av a2  s . c om
    }

    if (project.getParentFile() != null) {
        // is a local parent
        return;
    }

    final Parent parent = project.getModel().getParent();

    final String prefix = String.format("%s:%s:", parent.getGroupId(), parent.getArtifactId());
    for (final String entry : this.forceUpdateParentQualifiers) {
        if (entry.startsWith(prefix)) {
            final String qualifier = entry.substring(prefix.length());
            final String newVersion = makeVersion(parent.getVersion(), qualifier);

            getLog().info(String.format("Force update parent of %s to %s -> %s", project.getId(),
                    parent.getId(), newVersion));

            addChange(project.getFile(), new ModelModifier() {

                @Override
                public boolean apply(final Model model) {
                    model.getParent().setVersion(newVersion);
                    return true;
                }
            });
        }
    }
}

From source file:org.eclipse.scada.build.helper.GenerateQualifierMojo.java

License:Open Source License

@Override
protected synchronized String getQualifier(final MavenProject project) throws MojoExecutionException {
    String providerType = this.nameProviderMap.get(project.getPackaging());
    if (providerType == null) {
        providerType = this.defaultNameProvider;
    }//from w  ww.j a  v a 2s.  c o m

    getLog().debug(String.format("Using provider '%s' for project: %s", providerType, project.getId()));

    final QualifierNameProvider nameProvider = this.nameProviders.get(providerType);
    if (nameProvider == null) {
        throw new MojoExecutionException(
                String.format("Unable to find name provider with hint '%s'", providerType));
    }

    return nameProvider
            .createName(new Configuration(this.session, this.execution, project, this.nameProviderProperties));
}