List of usage examples for org.apache.maven.project MavenProjectBuilder build
MavenProject build(File pom, ArtifactRepository localRepository, ProfileManager profileManager)
throws ProjectBuildingException;
From source file:net.sourceforge.vulcan.maven.integration.MavenIntegration.java
License:Open Source License
public MavenProjectBuildConfigurator createProjectConfigurator(File buildSpecFile, String mavenHomeProfileName, String goals, ApplicationContext applicationContext) throws ConfigException { try {//from w w w . j a v a 2s .c om final MavenProjectBuilder builder = (MavenProjectBuilder) embedder.lookup(MavenProjectBuilder.ROLE); final MavenProject project = builder.build(buildSpecFile, artifactRepository, null); return new MavenProjectConfiguratorImpl(project, mavenHomeProfileName, goals, applicationContext); } catch (ProjectBuildingException e) { throw new ConfigException("maven.maven2.load.error", new Object[] { e.getMessage() }); } catch (ComponentLookupException e) { throw new RuntimeException(e); } }
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./*from ww w.j a v a 2 s . c o m*/ */ 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.codehaus.mojo.versions.api.PomHelper.java
License:Apache License
/** * Finds the local root of the specified project. * * @param project The project to find the local root for. * @param localRepository the local repo. * @param globalProfileManager the global profile manager. * @param logger The logger to log to. * @return The local root (note this may be the project passed as an argument). *//*from w ww . j a v a 2s.c o m*/ public static MavenProject getLocalRoot(MavenProjectBuilder builder, MavenProject project, ArtifactRepository localRepository, ProfileManager globalProfileManager, Log logger) { logger.info("Searching for local aggregator root..."); while (true) { final File parentDir = project.getBasedir().getParentFile(); if (parentDir.isDirectory()) { logger.debug("Checking to see if " + parentDir + " is an aggregator parent"); File parent = new File(parentDir, "pom.xml"); if (parent.isFile()) { try { final MavenProject parentProject = builder.build(parent, localRepository, globalProfileManager); if (getAllChildModules(parentProject, logger).contains(project.getBasedir().getName())) { logger.debug(parentDir + " is an aggregator parent"); project = parentProject; continue; } else { logger.debug(parentDir + " is not an aggregator parent"); } } catch (ProjectBuildingException e) { logger.warn(e); } } } logger.debug("Local aggregation root is " + project.getBasedir()); return project; } }
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 w ww .java 2 s . co 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; }