List of usage examples for org.apache.maven.model.building DefaultModelBuildingRequest setModelSource
@Override
public DefaultModelBuildingRequest setModelSource(ModelSource modelSource)
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;/*from w ww . ja va 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;//from w w w. j a va 2 s . c o m 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 ww. j ava 2s.c o 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 www . j av a2 s. co 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 ww w .ja v a2s.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.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 {/*from www . j ava 2s. c om*/ request.setPomFile(pomResource.getUnderlyingResourceObject()); monitorResource(pomResource); } result = builder.build(request); cacheModel.put(pomResource.getFullyQualifiedName(), result); } return result; }
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;//from w w w. j a va2s.com 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 w w. ja v a 2s. com*/ 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); } } }