Example usage for org.apache.maven.profiles DefaultProfileManager DefaultProfileManager

List of usage examples for org.apache.maven.profiles DefaultProfileManager DefaultProfileManager

Introduction

In this page you can find the example usage for org.apache.maven.profiles DefaultProfileManager DefaultProfileManager.

Prototype

public DefaultProfileManager(PlexusContainer container) 

Source Link

Usage

From source file:org.codehaus.cargo.maven2.DependencyCalculator.java

License:Apache License

/**
 * Execute the dependency calculator./*  w w w.ja v  a 2 s .  c o  m*/
 * @return List of dependency files.
 * @throws Exception If anything goes wrong.
 */
public Set<File> execute() throws Exception {
    ProfileManager profileManager = new DefaultProfileManager(container);

    fixupProjectArtifact();

    // Calculate the new deps
    Artifact art = mavenProject.getArtifact();
    Artifact art2 = artifactFactory.createArtifactWithClassifier(art.getGroupId() + ".cargodeps",
            art.getArtifactId(), art.getVersion(), "pom", null);
    resolver.resolve(art2, remoteRepositories, localRepository);

    MavenProject mavenProject = mavenProjectBuilder.buildWithDependencies(art2.getFile(), localRepository,
            profileManager);

    Set<File> filesToAdd = new HashSet<File>();

    for (Object artifact : mavenProject.getArtifacts()) {
        Artifact artdep = (Artifact) artifact;
        if (artdep.getType().equals("jar")) {
            resolver.resolve(artdep, remoteRepositories, localRepository);
            filesToAdd.add(artdep.getFile());
        }
    }

    return filesToAdd;
}

From source file:org.codehaus.mojo.pomtools.wrapper.custom.ProjectWrapper.java

License:Apache License

/** Creates a temporary MavenProject from the current contents of our
 * wrappedModel.  This is usefule when performing operations that need
 * full model resolution. For example, dependencies that inherit their versions
 * from the parent pom./*w w w.jav  a2  s  . c om*/
 */
protected MavenProject createTempResolvedProject(Model model)
        throws PomToolsException, ProjectBuildingException, InvalidProjectModelException {
    PomToolsPluginContext context = PomToolsPluginContext.getInstance();

    File baseDir = getBaseDir();

    PlexusContainer container = context.getSession().getContainer();

    File tempPomFile = null;
    try {
        tempPomFile = File.createTempFile(".pomtools-plugin-temp", "-pom.xml.", baseDir);
        tempPomFile.deleteOnExit();

        ProjectWrapper.writeModel(tempPomFile, model);

        MavenProjectBuilder builder = (MavenProjectBuilder) container.lookup(MavenProjectBuilder.ROLE);

        // TODO: This is not right. I think we need to get a handle to the global ProfileManager
        ProfileManager profileManager = new DefaultProfileManager(container);

        APIWorkaroundHelper.clearBuilderCache(builder);

        MavenProject project = builder.build(tempPomFile, context.getMetadataHelper().getLocalRepository(),
                profileManager);

        return project;
    } catch (IOException e) {
        throw new PomToolsException("An error occured while writing temporary pom", e);
    } catch (ComponentLookupException e) {
        throw new PomToolsException("Unable to get the default MavenProjectBuilder", e);
    } finally {
        if (tempPomFile != null && tempPomFile.exists()) {
            tempPomFile.delete();
        }
    }
}

From source file:org.mobicents.maven.plugin.utils.ProjectUtils.java

License:Open Source License

/**
 * Gets a project for the given <code>pom</code>.
 *
 * @param pom the pom from which to build the project.
 * @return the built project./*from  www  .  jav  a 2 s .c o  m*/
 * @throws ProjectBuildingException
 */
public static synchronized MavenProject getProject(final MavenProjectBuilder projectBuilder,
        final MavenSession session, final File pom, final Log logger) throws ProjectBuildingException {
    // - first attempt to get a project from the cache
    MavenProject project = (MavenProject) projectCache.get(pom);
    if (project == null) {
        // - next attempt to get the existing project from the session
        project = getProjectFromSession(session, pom);
        if (project == null) {
            // - if we didn't find it in the session, create it
            try {
                project = projectBuilder.build(pom, session.getLocalRepository(),
                        new DefaultProfileManager(session.getContainer()));
                projectCache.put(pom, project);
            } catch (Exception ex) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Failed to build project from pom: " + pom, ex);
                }
            }
        }
    }
    return project;
}