List of usage examples for org.apache.maven.model.building DefaultModelBuildingRequest setModelResolver
@Override
public DefaultModelBuildingRequest setModelResolver(ModelResolver modelResolver)
From source file:com.google.devtools.build.workspace.maven.DefaultModelResolver.java
License:Open Source License
public Model getEffectiveModel(ModelSource modelSource, EventHandler handler) { DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(this); request.setModelSource(modelSource); Model model;/* w ww .j a v a 2 s . c om*/ try { ModelBuildingResult result = modelBuilder.build(request); model = result.getEffectiveModel(); } catch (ModelBuildingException | IllegalArgumentException e) { // IllegalArg can be thrown if the parent POM cannot be resolved. handler.handle(Event.error( "Unable to resolve Maven model from " + modelSource.getLocation() + ": " + e.getMessage())); return null; } return model; }
From source file:com.google.devtools.build.workspace.maven.DefaultModelResolver.java
License:Open Source License
public Model getRawModel(FileModelSource fileModelSource, EventHandler handler) { DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(this); request.setModelSource(fileModelSource); Model model;//w ww .j a v a 2 s . c om try { ModelBuildingResult result = modelBuilder.build(request); model = result.getRawModel(); } catch (ModelBuildingException | IllegalArgumentException e) { // IllegalArg can be thrown if the parent POM cannot be resolved. handler.handle(Event.error("Unable to resolve raw Maven model from " + fileModelSource.getLocation() + ": " + e.getMessage())); return null; } return model; }
From source file:com.netflix.nebula.lint.rule.dependency.provider.MavenBomRecommendationProvider.java
License:Apache License
private Map<String, String> getMavenRecommendations() throws UnresolvableModelException, FileNotFoundException, ModelBuildingException { Map<String, String> recommendations = new HashMap<>(); Set<File> recommendationFiles = getBomsOnConfiguration(); for (File recommendation : recommendationFiles) { if (!recommendation.getName().endsWith("pom")) { break; }/*from w w w. j a va 2s.co m*/ DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(new ModelResolver() { @Override public ModelSource2 resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { String notation = groupId + ":" + artifactId + ":" + version + "@pom"; org.gradle.api.artifacts.Dependency dependency = project.getDependencies().create(notation); org.gradle.api.artifacts.Configuration configuration = project.getConfigurations() .detachedConfiguration(dependency); try { File file = configuration.getFiles().iterator().next(); return new SimpleModelSource(new java.io.FileInputStream(file)); } catch (Exception e) { throw new UnresolvableModelException(e, groupId, artifactId, version); } } @Override public ModelSource2 resolveModel(Dependency dependency) throws UnresolvableModelException { return resolveModel(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); } @Override public ModelSource2 resolveModel(Parent parent) throws UnresolvableModelException { return resolveModel(parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); } @Override public void addRepository(Repository repository) throws InvalidRepositoryException { // do nothing } @Override public void addRepository(Repository repository, boolean bool) throws InvalidRepositoryException { // do nothing } @Override public ModelResolver newCopy() { return this; // do nothing } }); request.setModelSource(new SimpleModelSource(new java.io.FileInputStream(recommendation))); request.setSystemProperties(System.getProperties()); DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); modelBuilder.setModelInterpolator(new ProjectPropertiesModelInterpolator(project)); ModelBuildingResult result = modelBuilder.build(request); log.info("using bom: " + result.getEffectiveModel().getId()); Model model = result.getEffectiveModel(); if (model == null) { break; } org.apache.maven.model.DependencyManagement dependencyManagement = model.getDependencyManagement(); if (dependencyManagement == null) { break; } for (Dependency d : dependencyManagement.getDependencies()) { recommendations.put(d.getGroupId() + ":" + d.getArtifactId(), d.getVersion()); // overwrites previous values } } return recommendations; }
From source file:com.redhat.rcm.version.mgr.VersionManager.java
License:Open Source License
private synchronized ModelBuildingRequest newModelBuildingRequest(final File pom, final VersionManagerSession session) { if (baseMbr == null) { final DefaultModelBuildingRequest mbr = new DefaultModelBuildingRequest(); mbr.setSystemProperties(System.getProperties()); mbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); mbr.setProcessPlugins(false);//from w ww . j a va 2 s . c o m mbr.setLocationTracking(true); this.baseMbr = mbr; } final DefaultModelBuildingRequest req = new DefaultModelBuildingRequest(baseMbr); req.setModelSource(new FileModelSource(pom)); final VManModelResolver resolver = new VManModelResolver(session, pom, artifactResolver, remoteRepositoryManager); req.setModelResolver(resolver); return req; }
From source file:org.eclipse.aether.ant.AntRepoSys.java
License:Open Source License
public Model loadModel(Task task, File pomFile, boolean local, RemoteRepositories remoteRepositories) { RepositorySystemSession session = getSession(task, null); remoteRepositories = remoteRepositories == null ? AetherUtils.getDefaultRepositories(project) : remoteRepositories;//from w w w . j a v a 2 s .co m List<org.eclipse.aether.repository.RemoteRepository> repositories = ConverterUtils .toRepositories(task.getProject(), session, remoteRepositories, getRemoteRepoMan()); ModelResolver modelResolver = new AntModelResolver(session, "project", getSystem(), getRemoteRepoMan(), repositories); Settings settings = getSettings(); try { DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setLocationTracking(true); request.setProcessPlugins(false); if (local) { request.setPomFile(pomFile); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_STRICT); } else { request.setModelSource(new FileModelSource(pomFile)); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); } request.setSystemProperties(getSystemProperties()); request.setUserProperties(getUserProperties()); request.setProfiles(SettingsUtils.convert(settings.getProfiles())); request.setActiveProfileIds(settings.getActiveProfiles()); request.setModelResolver(modelResolver); return modelBuilder.build(request).getEffectiveModel(); } catch (ModelBuildingException e) { throw new BuildException("Could not load POM " + pomFile + ": " + e.getMessage(), e); } }
From source file:org.eclipse.ebr.maven.ModelUtil.java
License:Open Source License
public Model buildEffectiveModel(final File pomFile) throws MojoExecutionException { getLog().debug(format("Building effective model for pom '%s'.", pomFile)); final DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(getModelResolver()); request.setPomFile(pomFile);//from ww w. j ava 2 s .c o m request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); request.setProcessPlugins(false); request.setTwoPhaseBuilding(false); request.setUserProperties(getMavenSession().getUserProperties()); request.setSystemProperties(getMavenSession().getSystemProperties()); if (getLog().isDebugEnabled()) { getLog().debug("Request: " + request); } ModelBuildingResult result; try { result = modelBuilder.build(request); } catch (final ModelBuildingException e) { getLog().debug(e); throw new MojoExecutionException( format("Unable to build model for pom '%s'. %s", pomFile, e.getMessage())); } if (getLog().isDebugEnabled()) { getLog().debug("Result: " + result); } return result.getEffectiveModel(); }
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;//from www . j a v a 2 s . co m 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.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 w w w . ja v a 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.sonatype.aether.ant.AntRepoSys.java
License:Open Source License
public Model loadModel(Task task, File pomFile, boolean local, RemoteRepositories remoteRepositories) { RepositorySystemSession session = getSession(task, null); remoteRepositories = remoteRepositories == null ? AetherUtils.getDefaultRepositories(project) : remoteRepositories;/* ww w . j a va 2 s .co m*/ List<org.sonatype.aether.repository.RemoteRepository> repositories = ConverterUtils .toRepositories(task.getProject(), session, remoteRepositories, getRemoteRepoMan()); ModelResolver modelResolver = new AntModelResolver(session, "project", getSystem(), getRemoteRepoMan(), repositories); Settings settings = getSettings(); try { DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setLocationTracking(true); request.setProcessPlugins(false); if (local) { request.setPomFile(pomFile); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_STRICT); } else { request.setModelSource(new FileModelSource(pomFile)); request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); } request.setSystemProperties(getSystemProperties()); request.setUserProperties(getUserProperties()); request.setProfiles(SettingsUtils.convert(settings.getProfiles())); request.setActiveProfileIds(settings.getActiveProfiles()); request.setModelResolver(modelResolver); return modelBuilder.build(request).getEffectiveModel(); } catch (ModelBuildingException e) { throw new BuildException("Could not load POM " + pomFile + ": " + e.getMessage(), e); } }
From source file:org.springframework.boot.cli.compiler.DependencyManagementBomTransformation.java
License:Apache License
private void updateDependencyResolutionContext(List<Map<String, String>> bomDependencies) { URI[] uris = Grape.getInstance().resolve(null, bomDependencies.toArray(new Map[bomDependencies.size()])); DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); for (URI uri : uris) { try {/*w ww.j a v a 2 s. c om*/ DefaultModelBuildingRequest request = new DefaultModelBuildingRequest(); request.setModelResolver(new GrapeModelResolver()); request.setModelSource(new UrlModelSource(uri.toURL())); request.setSystemProperties(System.getProperties()); Model model = modelBuilder.build(request).getEffectiveModel(); this.resolutionContext.addDependencyManagement(new MavenModelDependencyManagement(model)); } catch (Exception ex) { throw new IllegalStateException("Failed to build model for '" + uri + "'. Is it a valid Maven bom?", ex); } } }