getLogger().debug( "Reason: " + e.getMessage() ); ModelValidationResult validationResult = e.getValidationResult();
private Model readModel( String projectId, String pomLocation, Reader reader, boolean strict ) throws IOException, InvalidProjectModelException { String modelSource = IOUtil.toString( reader ); if ( modelSource.indexOf( "<modelVersion>" + MAVEN_MODEL_VERSION ) < 0 ) { throw new InvalidProjectModelException( projectId, pomLocation, "Not a v" + MAVEN_MODEL_VERSION + " POM." ); } StringReader sReader = new StringReader( modelSource ); try { return modelReader.read( sReader, strict ); } catch ( XmlPullParserException e ) { throw new InvalidProjectModelException( projectId, pomLocation, "Parse error reading POM. Reason: " + e.getMessage(), e ); } }
public void addValidatorReports(InvalidProjectModelException exc) { ModelValidationResult res = exc.getValidationResult(); if (res == null) { return; } List messages = exc.getValidationResult().getMessages(); if (messages != null && messages.size() > 0) { ProblemReport report = new ProblemReport(ProblemReport.SEVERITY_HIGH, org.openide.util.NbBundle.getMessage(ProblemReporter.class, "ERR_Project_validation."), exc.getValidationResult().render("\n"), new OpenPomAction(nbproject)); //NOI18N addReport(report); } }
public MavenProject readProject( File mavenProject ) throws ProjectBuildingException { try { return mavenProjectBuilder.build( mavenProject, localRepository, profileManager ); } catch (final InvalidProjectModelException e) { throw new ProjectBuildingException(e.getProjectId(),e.getMessage(),e) { @Override public String getMessage() { String msg = e.getMessage(); ModelValidationResult vr = e.getValidationResult(); if(vr!=null) msg+="\n"+vr.render("- "); return msg; } }; } }
public static MavenProject readMavenProject(String grId, String artId, String ver, ArtifactRepository repository) { MavenProject mavenProject = null; try { // we need to use the online embedder as the project one never // puts anything in the local repository, thus not resolving dependencies. //mkleint: this is somewhat strange thing to do for indexing remote repositories // via the maven-repo-utils CLI tool.. ArtifactFactory artifactFactory = (ArtifactFactory) EmbedderFactory.getOnlineEmbedder().getPlexusContainer().lookup(ArtifactFactory.class); Artifact projectArtifact = artifactFactory.createProjectArtifact( grId, artId, ver, null); MavenProjectBuilder builder = (MavenProjectBuilder) EmbedderFactory.getOnlineEmbedder().getPlexusContainer().lookup(MavenProjectBuilder.class); mavenProject = builder.buildFromRepository(projectArtifact, new ArrayList(), repository); } catch (InvalidProjectModelException ex) { //ignore nexus is falling ??? ex.printStackTrace(); } catch (ProjectBuildingException ex) { ex.printStackTrace(); } catch (Exception exception) { exception.printStackTrace(); } return mavenProject; } }
ModelValidationResult validationResult = ex.getValidationResult();
ModelValidationResult validationResult = ex.getValidationResult();
@Override public String getMessage() { String msg = e.getMessage(); ModelValidationResult vr = e.getValidationResult(); if(vr!=null) msg+="\n"+vr.render("- "); return msg; } };
private ProjectBuildingException transformError( ProjectBuildingException e ) { if ( e.getCause() instanceof ModelBuildingException ) { return new InvalidProjectModelException( e.getProjectId(), e.getMessage(), e.getPomFile() ); } return e; }
ModelValidationResult validationResult = ex.getValidationResult();
throw new InvalidProjectModelException( projectId, pomLocation, e.getMessage(), e ); throw new InvalidProjectModelException( projectId, pomLocation, e.getMessage(), e );
throw new InvalidProjectModelException( projectId, pomLocation, "Failed to validate POM", validationResult );