Example usage for org.apache.maven.model.building DefaultModelBuildingRequest setModelSource

List of usage examples for org.apache.maven.model.building DefaultModelBuildingRequest setModelSource

Introduction

In this page you can find the example usage for org.apache.maven.model.building DefaultModelBuildingRequest setModelSource.

Prototype

@Override
    public DefaultModelBuildingRequest setModelSource(ModelSource modelSource) 

Source Link

Usage

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);
        }
    }
}