List of usage examples for org.apache.maven.model.building ModelBuilder build
ModelBuildingResult build(ModelBuildingRequest request) throws ModelBuildingException;
From source file:com.bennavetta.util.tycho.maven.Maven.java
License:Apache License
public static Model createModel(File pom) throws ModelBuildingException, ComponentLookupException { ModelBuilder builder = mavenContainer.lookup(ModelBuilder.class); ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setProcessPlugins(false);/*from w w w .j a va 2s . c o m*/ req.setModelResolver(new RepoModelResolver()); req.setPomFile(pom); return builder.build(req).getEffectiveModel(); }
From source file:com.facebook.buck.maven.Pom.java
License:Apache License
private Model constructModel() throws IOException { File file = path.toFile();//w w w .jav a2s.c om if (file.isFile()) { ModelBuildingRequest modelBuildingRequest = new DefaultModelBuildingRequest().setPomFile(file); ModelBuilder modelBuilder = MODEL_BUILDER_FACTORY.newInstance(); try { ModelBuildingResult modelBuildingResult = modelBuilder.build(modelBuildingRequest); // Would contain extra stuff: <build/>, <repositories/>, <pluginRepositories/>, <reporting/> // model = modelBuildingResult.getEffectiveModel(); return Preconditions.checkNotNull(modelBuildingResult.getRawModel()); } catch (ModelBuildingException e) { throw Throwables.propagate(e); } } else { Model model = new Model(); model.setModelVersion(POM_MODEL_VERSION); return model; } }
From source file:com.github.nethad.clustermeister.provisioning.dependencymanager.MavenRepositorySystem.java
License:Apache License
/** * Resolve the effective Maven model (pom) for a POM file. * //from ww w . j a v a2 s . co m * This resolves the POM hierarchy (parents and modules) and creates an * overall model. * * @param pom the POM file to resolve. * @return the effective model. */ protected Model getEffectiveModel(File pom) { ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setProcessPlugins(false); req.setPomFile(pom); req.setModelResolver(new SimpleModelResolver(repositorySystem, createSession(), getRepositories(Collections.EMPTY_LIST))); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); try { return builder.build(req).getEffectiveModel(); } catch (ModelBuildingException ex) { logger.warn("Could not build maven model.", ex); } return new Model(); }
From source file:org.jboss.forge.addon.maven.projects.MavenBuildManager.java
License:Open Source License
public ModelBuildingResult getModelBuildingResult(MavenModelResource pomResource) throws ModelBuildingException { ModelBuildingResult result = cacheModel.get(pomResource.getFullyQualifiedName()); if (result == null) { ModelBuilder builder = getModelBuilder(); DefaultModelBuildingRequest request = getModelBuildingRequest(); boolean inTransaction = !pomResource.getUnderlyingResourceObject().exists(); // FORGE-1287 if (inTransaction) { // If under a transaction, don't start monitoring request.setModelSource(new FileResourceModelSource(pomResource)); } else {/*w w w .ja va 2 s. c om*/ request.setPomFile(pomResource.getUnderlyingResourceObject()); monitorResource(pomResource); } result = builder.build(request); cacheModel.put(pomResource.getFullyQualifiedName(), result); } return result; }
From source file:org.jboss.forge.arquillian.maven.ProjectHelper.java
License:Open Source License
public Model loadPomFromFile(File pomFile, String... profiles) { RepositorySystem system = mavenContainer.getRepositorySystem(); Settings settings = mavenContainer.getSettings(); DefaultRepositorySystemSession session = mavenContainer.setupRepoSession(system, settings); final DefaultModelBuildingRequest request = new DefaultModelBuildingRequest() .setSystemProperties(System.getProperties()).setPomFile(pomFile) .setActiveProfileIds(settings.getActiveProfiles()); ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingResult result;/* w w w . ja v a 2 s .c om*/ try { request.setModelResolver(new MavenModelResolver(system, session, mavenContainer.getEnabledRepositoriesFromProfile(settings))); result = builder.build(request); } // wrap exception message catch (ModelBuildingException e) { String pomPath = request.getPomFile().getAbsolutePath(); StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size()) .append(" problems while building POM model from ").append(pomPath).append("\n"); int counter = 1; for (ModelProblem problem : e.getProblems()) { sb.append(counter++).append("/ ").append(problem).append("\n"); } throw new RuntimeException(sb.toString()); } return result.getEffectiveModel(); }
From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenEnvironmentImpl.java
License:Open Source License
@Override public MavenEnvironment execute(ModelBuildingRequest request) { request.setModelResolver(new MavenModelResolver(system, session, getRemoteRepositories())); ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingResult result;//from w ww .j a va2 s. c o m try { result = builder.build(request); } // wrap exception message catch (ModelBuildingException e) { String pomPath = request.getPomFile().getAbsolutePath(); StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size()) .append(" problems while building POM model from ").append(pomPath).append("\n"); int counter = 1; for (ModelProblem problem : e.getProblems()) { sb.append(counter++).append("/ ").append(problem).append("\n"); } throw new ResolutionException(sb.toString(), e); } // get and update model Model model = result.getEffectiveModel(); this.model = model; // update model repositories for (Repository repository : model.getRepositories()) { remoteRepositories.add(MavenConverter.asRemoteRepository(repository)); } return this; }
From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenRepositorySystem.java
License:Apache License
public Model loadPom(File pom, MavenDependencyResolverSettings settings, MavenModelResolver modelResolver) throws ResolutionException { ModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setPomFile(pom);//from w w w . ja v a2 s. c o m request.setModelResolver(modelResolver); ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingResult result; try { result = builder.build(request); } // wrap exception message catch (ModelBuildingException e) { StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size()) .append(" problems while building POM model from ").append(pom.getAbsolutePath()); int counter = 1; for (ModelProblem problem : e.getProblems()) { sb.append(counter++).append("/ ").append(problem).append("\n"); } throw new ResolutionException(sb.toString(), e); } Model model = result.getEffectiveModel(); settings.setModelRemoteRepositories(model); return model; }
From source file:org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.java
License:Apache License
@Override public MavenWorkingSession loadPomFromFile(File pomFile, String... profiles) throws InvalidConfigurationFileException { final DefaultModelBuildingRequest request = new DefaultModelBuildingRequest() .setSystemProperties(SecurityActions.getProperties()).setProfiles(this.getSettingsDefinedProfiles()) .setPomFile(pomFile)/*from www . java 2 s . co m*/ .setActiveProfileIds(SettingsXmlProfileSelector.explicitlyActivatedProfiles(profiles)) .setInactiveProfileIds(SettingsXmlProfileSelector.explicitlyDisabledProfiles(profiles)); ModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingResult result; try { request.setModelResolver(new MavenModelResolver(system, session, getRemoteRepositories())); result = builder.build(request); } // wrap exception message catch (ModelBuildingException e) { String pomPath = request.getPomFile().getAbsolutePath(); StringBuilder sb = new StringBuilder("Found ").append(e.getProblems().size()) .append(" problems while building POM model from ").append(pomPath).append("\n"); int counter = 1; for (ModelProblem problem : e.getProblems()) { sb.append(counter++).append("/ ").append(problem).append("\n"); } throw new InvalidConfigurationFileException(sb.toString()); } // get and update model Model model = result.getEffectiveModel(); this.model = model; // update model repositories for (Repository repository : model.getRepositories()) { remoteRepositories.add(MavenConverter.asRemoteRepository(repository)); } return this; }
From source file:org.ModelBuilderDemo.java
License:Open Source License
public static void main(String[] args) throws Exception { /*/*from w ww.ja va 2 s . com*/ * setup the container and get us some interesting components */ PlexusContainer container = new DefaultPlexusContainer(); ModelBuilder modelBuilder = container.lookup(ModelBuilder.class); ModelWriter modelWriter = container.lookup(ModelWriter.class); /* * build some effective model */ ModelSource modelSource = new UrlModelSource( ModelBuilderDemo.class.getResource("/repo/demo/dependency/1.0/pom.xml")); ModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelSource(modelSource); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); request.setSystemProperties(System.getProperties()); request.setModelResolver(new SimpleModelResolver()); ModelBuildingResult result = modelBuilder.build(request); Model effectivePom = result.getEffectiveModel(); StringWriter writer = new StringWriter(); modelWriter.write(writer, null, effectivePom); System.out.println(writer.toString()); }
From source file:org.tawja.maven.discovery.internal.MavenManager.java
License:Apache License
public Model getEffectiveModel(File pomXmlFile) { ModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingRequest req = new DefaultModelBuildingRequest(); Model model = null;/* w w w .j ava 2s .c o m*/ try { req.setPomFile(pomXmlFile); req.setProcessPlugins(false); req.setModelResolver(getMavenModelResolver()); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); model = modelBuilder.build(req).getEffectiveModel(); } catch (Exception ex) { getLogger().error("Unable to build the Maven Model", ex); } return model; }