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

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

Introduction

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

Prototype

@Override
    public DefaultModelBuildingRequest setSystemProperties(Properties systemProperties) 

Source Link

Usage

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 ww  w .j a  va  2 s.  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);//w  w w  . j a v  a  2  s  .  com
        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 . java2  s .  c o  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  w w w .j a v a  2s .co  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.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 va  2  s .  c o  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 {//from  w  w w.ja  v  a  2s .  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);
        }
    }
}