if ( result == null || result.getEffectiveModel() == null ) throw new ProjectBuildingException( e.getModelId(), e.getMessage(), pomFile, e );
@Override public BuildResult getEffectiveModelBuildResult() { BuildResultBuilder resultBuilder = BuildResultBuilder.create(); MavenFacetImpl mvn = getFaceted().getFacet(MavenFacetImpl.class); resultBuilder.status(mvn.isModelValid()); try { ModelBuildingResult result = mvn.getModelBuildingResult(); if (!result.getProblems().isEmpty()) { String errorMessage = new ModelBuildingException(result).getMessage(); resultBuilder.addMessage(BuildMessage.Severity.ERROR, errorMessage); } } catch (ModelBuildingException e) { resultBuilder.addMessage(BuildMessage.Severity.ERROR, e.getMessage()); } return resultBuilder.build(); }
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(); } }
throw new MojoExecutionException( e.getMessage(), e );
String msg = "The artifact's POM file '" + file + "' was invalid: " + e.getMessage();
String msg = "The artifact's POM file '" + file + "' was invalid: " + e.getMessage();