diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java index 9eabe03e5..7263b2bc1 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java @@ -26,10 +26,10 @@ import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.analyzer.AnalysisPhase; import org.owasp.dependencycheck.analyzer.Analyzer; import org.owasp.dependencycheck.analyzer.AnalyzerService; +import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.data.cpe.CpeMemoryIndex; import org.owasp.dependencycheck.data.cpe.IndexException; import org.owasp.dependencycheck.data.nvdcve.CveDB; @@ -321,13 +321,14 @@ public class Engine { try { a.analyze(d, this); } catch (AnalysisException ex) { - d.addAnalysisException(ex); + final String exMsg = String.format("An error occured while analyzing '%s'.", d.getActualFilePath()); + Logger.getLogger(Engine.class.getName()).log(Level.WARNING, exMsg); + Logger.getLogger(Engine.class.getName()).log(Level.FINE, "", ex); } catch (Throwable ex) { final String axMsg = String.format("An unexpected error occurred during analysis of '%s'", d.getActualFilePath()); final AnalysisException ax = new AnalysisException(axMsg, ex); - d.addAnalysisException(ax); - Logger.getLogger(Engine.class.getName()).log(Level.SEVERE, axMsg); - Logger.getLogger(Engine.class.getName()).log(Level.FINE, axMsg, ex); + Logger.getLogger(Engine.class.getName()).log(Level.WARNING, axMsg); + Logger.getLogger(Engine.class.getName()).log(Level.FINE, "", ex); } } } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java index 6df51be3c..e14a8a39f 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java @@ -17,7 +17,6 @@ */ package org.owasp.dependencycheck.analyzer; -import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; @@ -57,6 +56,7 @@ import javax.xml.transform.sax.SAXSource; import org.h2.store.fs.FileUtils; import org.jsoup.Jsoup; import org.owasp.dependencycheck.Engine; +import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.dependency.Confidence; import org.owasp.dependencycheck.dependency.Dependency; import org.owasp.dependencycheck.dependency.EvidenceCollection; @@ -262,7 +262,6 @@ public class JarAnalyzer extends AbstractAnalyzer implements Analyzer { } catch (IOException ex) { final String msg = String.format("Unable to read JarFile '%s'.", dependency.getActualFilePath()); final AnalysisException ax = new AnalysisException(msg, ex); - dependency.getAnalysisExceptions().add(ax); Logger.getLogger(JarAnalyzer.class.getName()).log(Level.WARNING, msg); Logger.getLogger(JarAnalyzer.class.getName()).log(Level.FINE, null, ex); return false; @@ -273,7 +272,6 @@ public class JarAnalyzer extends AbstractAnalyzer implements Analyzer { } catch (IOException ex) { final String msg = String.format("Unable to read Jar file entries in '%s'.", dependency.getActualFilePath()); final AnalysisException ax = new AnalysisException(msg, ex); - dependency.getAnalysisExceptions().add(ax); Logger.getLogger(JarAnalyzer.class.getName()).log(Level.WARNING, msg); Logger.getLogger(JarAnalyzer.class.getName()).log(Level.INFO, msg, ex); return false; @@ -314,7 +312,9 @@ public class JarAnalyzer extends AbstractAnalyzer implements Analyzer { foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes); } } catch (AnalysisException ex) { - dependency.addAnalysisException(ex); + final String msg = String.format("An error occured while analyzing '%s'.", dependency.getActualFilePath()); + Logger.getLogger(JarAnalyzer.class.getName()).log(Level.WARNING, msg); + Logger.getLogger(JarAnalyzer.class.getName()).log(Level.INFO, "", ex); } } return foundSomething; diff --git a/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/DependencyCheckMojo.java b/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/DependencyCheckMojo.java index f8661feb9..daf17c0d5 100644 --- a/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/DependencyCheckMojo.java +++ b/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/DependencyCheckMojo.java @@ -304,7 +304,6 @@ public class DependencyCheckMojo extends AbstractMojo implements MavenMultiPageR int cnt = 0; for (Dependency d : dependencies) { writeSiteReportDependencyHeader(sink, d); - cnt = writeSiteReportDependencyAnalysisExceptions(d, cnt, sink); cnt = writeSiteReportDependencyEvidenceUsed(d, cnt, sink); cnt = writeSiteReportDependencyRelatedDependencies(d, cnt, sink); writeSiteReportDependencyIdentifiers(d, sink); @@ -510,35 +509,6 @@ public class DependencyCheckMojo extends AbstractMojo implements MavenMultiPageR return cnt; } - /** - * Writes the analysis exceptions generated during analysis to the site report. - * - * @param d the dependency - * @param sink the sink to write the data to - * @param collapsibleHeaderCount the collapsible header count - * @return the collapsible header count - */ - private int writeSiteReportDependencyAnalysisExceptions(Dependency d, int collapsibleHeaderCount, Sink sink) { - int cnt = collapsibleHeaderCount; - if (d.getAnalysisExceptions() != null && !d.getAnalysisExceptions().isEmpty()) { - cnt += 1; - sink.sectionTitle4(); - sink.rawText("Errors occurred during analysis: [+]"); - sink.sectionTitle4_(); - sink.rawText("
"); - sink.list(); - for (Exception e : d.getAnalysisExceptions()) { - sink.listItem(); - sink.text(e.getMessage()); - sink.listItem_(); - } - sink.list_(); - sink.rawText("
"); - } - return cnt; - } - /** * Writes the dependency header to the site report. *