DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); if ( inputModel == null ) inputModel = readModel( request.getModelSource(), request.getPomFile(), request, problems ); ModelData superData = new ModelData( null, getSuperModel() ); Map<String, Activation> interpolatedActivations = getProfileActivations( rawModel, false ); injectProfileActivations( tmpModel, interpolatedActivations ); configureResolver( request.getModelResolver(), tmpModel, problems ); ModelData parentData = readParent( tmpModel, currentData.getSource(), request, problems ); checkPluginVersions( lineage, request, problems ); assembleInheritance( lineage, request, problems ); resultModel = interpolateModel( resultModel, request, problems ); resultData.setModel( resultModel ); final Model interpolatedParent = interpolateModel( parentData.getModel(), request, problems ); configureResolver( request.getModelResolver(), resultModel, problems, true ); build( request, result );
/** * Creates a new model builder instance. * * @return The new model builder instance, never {@code null}. */ public DefaultModelBuilder newInstance() { DefaultModelBuilder modelBuilder = new DefaultModelBuilder(); modelBuilder.setModelProcessor( newModelProcessor() ); modelBuilder.setModelValidator( newModelValidator() ); modelBuilder.setModelNormalizer( newModelNormalizer() ); modelBuilder.setModelPathTranslator( newModelPathTranslator() ); modelBuilder.setModelUrlNormalizer( newModelUrlNormalizer() ); modelBuilder.setModelInterpolator( newModelInterpolator() ); modelBuilder.setInheritanceAssembler( newInheritanceAssembler() ); modelBuilder.setProfileInjector( newProfileInjector() ); modelBuilder.setProfileSelector( newProfileSelector() ); modelBuilder.setSuperPomProvider( newSuperPomProvider() ); modelBuilder.setDependencyManagementImporter( newDependencyManagementImporter() ); modelBuilder.setDependencyManagementInjector( newDependencyManagementInjector() ); modelBuilder.setLifecycleBindingsInjector( newLifecycleBindingsInjector() ); modelBuilder.setPluginManagementInjector( newPluginManagementInjector() ); modelBuilder.setPluginConfigurationExpander( newPluginConfigurationExpander() ); modelBuilder.setReportConfigurationExpander( newReportConfigurationExpander() ); modelBuilder.setReportingConverter( newReportingConverter() ); return modelBuilder; }
fireEvent( resultModel, request, problems, ModelBuildingEventCatapult.BUILD_EXTENSIONS_ASSEMBLED ); importDependencyManagement( resultModel, request, problems, imports ); if ( hasModelErrors( problems ) )
ModelBuildingResult result = builder.build(req);
DependencyManagement importMgmt = getCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT ); if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) try importResult = build( importRequest ); putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt );
@Override public Model getModel(final File pomFile) throws IOException { DefaultModelBuilder builder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setProcessPlugins(false); req.setPomFile(pomFile); req.setModelResolver(modelResolver); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); req.setSystemProperties(System.getProperties()); builder.setModelValidator(new ModelValidatorImpl()); try { return builder.build(req).getEffectiveModel(); } catch (ModelBuildingException e) { LOGGER.warn("Cannot build effective model for " + pomFile.getAbsolutePath(), e); return new EffectiveModel(rawModelBuilder.getModel(pomFile)); } }
defaultModelBuilder.setProfileInjector( profileInjector ).setProfileSelector( profileSelector ); buildingResult = defaultModelBuilder.build( buildingRequest );
modelBuilder.setModelInterpolator(new ProjectPropertiesModelInterpolator(project)); ModelBuildingResult result = modelBuilder.build(request); reasons.add("nebula.dependency-recommender uses mavenBom: " + result.getEffectiveModel().getId());
public static Model readPomXml(File pomXml, String localMavenRepository) { ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setProcessPlugins(true); req.setPomFile(pomXml); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); req.setModelResolver(new RepositoryModelResolver(localMavenRepository)); DefaultModelBuilder defaultModelBuilder = new DefaultModelBuilderFactory().newInstance(); // we try to build the model, and if we fail, we try to get the raw model try { ModelBuildingResult modelBuildingResult = defaultModelBuilder.build(req); return modelBuildingResult.getEffectiveModel(); } catch (ModelBuildingException e) { LOGGER.error("Error while building complete model. The raw model will be used. Error message: " + e.getMessage()); return defaultModelBuilder.buildRawModel(pomXml, ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL, true).get(); } }
public static Model getRawPomModel(File pom) { final DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); final Result<? extends Model> result = modelBuilder.buildRawModel(pom, 0, false); final Model model = result.get(); if (model == null) throw new IllegalArgumentException("Could not create a model from file " + pom.getAbsolutePath()); return model; }
@Override public ModelBuildingResult build(ModelBuildingRequest request, ModelBuildingResult result) throws ModelBuildingException { ModelBuildingResult toRet = super.build(request, result); if (request.getPomFile() != null) { List<ModelDescription> rawModels = new ArrayList<ModelDescription>();
fireEvent( resultModel, request, problems, ModelBuildingEventCatapult.BUILD_EXTENSIONS_ASSEMBLED ); importDependencyManagement( resultModel, request, problems, imports ); if ( hasModelErrors( problems ) )
DependencyManagement importMgmt = getCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT ); if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) ) try importResult = build( importRequest ); putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMgmt );
builder.setModelValidator( new ModelValidator() Model model = builder.build( req ).getEffectiveModel(); return model;
/** * Creates a new model builder instance. * * @return The new model builder instance, never {@code null}. */ public DefaultModelBuilder newInstance() { DefaultModelBuilder modelBuilder = new DefaultModelBuilder(); modelBuilder.setModelProcessor( newModelProcessor() ); modelBuilder.setModelValidator( newModelValidator() ); modelBuilder.setModelNormalizer( newModelNormalizer() ); modelBuilder.setModelPathTranslator( newModelPathTranslator() ); modelBuilder.setModelUrlNormalizer( newModelUrlNormalizer() ); modelBuilder.setModelInterpolator( newModelInterpolator() ); modelBuilder.setInheritanceAssembler( newInheritanceAssembler() ); modelBuilder.setProfileInjector( newProfileInjector() ); modelBuilder.setProfileSelector( newProfileSelector() ); modelBuilder.setSuperPomProvider( newSuperPomProvider() ); modelBuilder.setDependencyManagementImporter( newDependencyManagementImporter() ); modelBuilder.setDependencyManagementInjector( newDependencyManagementInjector() ); modelBuilder.setLifecycleBindingsInjector( newLifecycleBindingsInjector() ); modelBuilder.setPluginManagementInjector( newPluginManagementInjector() ); modelBuilder.setPluginConfigurationExpander( newPluginConfigurationExpander() ); modelBuilder.setReportConfigurationExpander( newReportConfigurationExpander() ); modelBuilder.setReportingConverter( newReportingConverter() ); return modelBuilder; }
DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request ); if ( inputModel == null ) inputModel = readModel( request.getModelSource(), request.getPomFile(), request, problems ); ModelData superData = new ModelData( null, getSuperModel() ); Map<String, Activation> interpolatedActivations = getProfileActivations( rawModel, false ); injectProfileActivations( tmpModel, interpolatedActivations ); configureResolver( request.getModelResolver(), tmpModel, problems ); ModelData parentData = readParent( tmpModel, currentData.getSource(), request, problems ); checkPluginVersions( lineage, request, problems ); assembleInheritance( lineage, request, problems ); resultModel = interpolateModel( resultModel, request, problems ); resultData.setModel( resultModel ); final Model interpolatedParent = interpolateModel( parentData.getModel(), request, problems ); configureResolver( request.getModelResolver(), resultModel, problems, true ); build( request, result );
private void updateDependencyResolutionContext( List<Map<String, String>> bomDependencies) { URI[] uris = Grape.getInstance().resolve(null, bomDependencies.toArray(new Map[0])); DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); for (URI uri : uris) { try { 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); } } }
public static Model getEffectivePomModel(File pom) throws MavenException { try { final ModelBuildingRequest modelRequest = new DefaultModelBuildingRequest(); modelRequest.setPomFile(pom); modelRequest.setModelResolver(createModelResolver()); // This is required to avoid errors about not able to determine the Java version modelRequest.setSystemProperties(System.getProperties()); final DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingResult modelBuildingResult = modelBuilder.build(modelRequest); return modelBuildingResult.getEffectiveModel(); } catch (SettingsBuildingException | ModelBuildingException e) { throw new MavenException(e); } }
protected ProjectsContextImpl createProjectsContext(AtomicReference<Map<String, Object>> transformContextReference) throws Exception { DefaultModelBuilderFactory factory = new DefaultModelBuilderFactory(); DefaultModelBuilder builder = factory.newInstance(); List<ProjectContextImpl> projectContexts = new ArrayList<>(); for (File pomXml : pomXmlCollection.getFiles()) { ModelBuildingRequest req = new DefaultModelBuildingRequest(); req.setProcessPlugins(false); req.setPomFile(pomXml); req.setModelResolver(createModelResolver()); req.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); Model effectivePom = builder.build(req).getEffectiveModel(); projectContexts.add(new ProjectContextImpl(pomXml, effectivePom, transformContextReference)); } ProjectsContextImpl projectsContext = new ProjectsContextImpl(projectContexts, transformContextReference); for (ProjectContextImpl projectContext : projectContexts) { projectContext.setProjectsContext(projectsContext); } return projectsContext; }
@Override public ModelBuildingResult build(ModelBuildingRequest request) throws ModelBuildingException { ModelBuildingResult toRet = super.build(request); Model eff = toRet.getEffectiveModel(); InputSource source = new InputSource(); source.setLocation(""); InputLocation location = new InputLocation(-1, -1, source); eff.setLocation(NETBEANS_PROFILES, location); for (String id : toRet.getModelIds()) { Model mdl = toRet.getRawModel(id); for (Profile p : mdl.getProfiles()) { source.setLocation(source.getLocation() + "|" + p.getId()); } } return toRet; }