@@ -22,36 +22,47 @@ package com.secdec.codepulse.dependencycheck
2222import java .io .File
2323
2424import org .apache .commons .io .IOUtils
25- import org .owasp .dependencycheck .reporting . ReportGenerator .{ Format => DCReportFormat }
25+ import org .owasp .dependencycheck .Engine
2626import org .owasp .dependencycheck .utils .{ Settings => DepCheckSettings }
2727
2828import com .secdec .codepulse .data .model .ProjectId
2929import com .secdec .codepulse .paths
3030import com .secdec .codepulse .util .RichFile ._
3131
32- sealed abstract class ReportFormat (val value : DCReportFormat )
32+ sealed abstract class ReportFormat (val value : String )
3333object ReportFormat {
34- case object Xml extends ReportFormat (DCReportFormat .XML )
35- case object Html extends ReportFormat (DCReportFormat .HTML )
36- case object Vuln extends ReportFormat (DCReportFormat .VULN )
37- case object All extends ReportFormat (DCReportFormat .ALL )
34+ case object Xml extends ReportFormat (" XML" )
35+ case object Html extends ReportFormat (" HTML" )
36+ case object Vuln extends ReportFormat (" VULN" )
37+ case object Json extends ReportFormat (" JSON" )
38+ case object Csv extends ReportFormat (" CSV" )
39+ case object All extends ReportFormat (" ALL" )
3840}
3941
4042sealed trait ApplicableSettings {
41- def applySettings (): Unit
43+ def settings : DepCheckSettings
44+
45+ def withEngine [T ](f : Engine => T ): T = {
46+ val engine = new Engine (settings)
47+ try {
48+ f(engine)
49+ } finally {
50+ engine.close()
51+ }
52+ }
4253}
4354
4455case class Settings (
4556 dataDir : File
4657) extends ApplicableSettings {
4758
48- def applySettings () {
49- DepCheckSettings .setString( DepCheckSettings . KEYS . DATA_DIRECTORY , dataDir.getAbsolutePath)
50- DepCheckSettings .setBoolean (DepCheckSettings .KEYS .ANALYZER_JAR_ENABLED , true )
51- DepCheckSettings .setBoolean(DepCheckSettings .KEYS .ANALYZER_ARCHIVE_ENABLED , true )
52- DepCheckSettings .setBoolean(DepCheckSettings .KEYS .ANALYZER_NEXUS_ENABLED , true )
53- DepCheckSettings .setBoolean(DepCheckSettings .KEYS .ANALYZER_NEXUS_USES_PROXY , false )
54- }
59+ val settings = new DepCheckSettings
60+
61+ settings.setString (DepCheckSettings .KEYS .DATA_DIRECTORY , dataDir.getAbsolutePath )
62+ settings .setBoolean(DepCheckSettings .KEYS .ANALYZER_JAR_ENABLED , true )
63+ settings .setBoolean(DepCheckSettings .KEYS .ANALYZER_ARCHIVE_ENABLED , true )
64+ settings .setBoolean(DepCheckSettings .KEYS .ANALYZER_NEXUS_ENABLED , true )
65+ settings.setBoolean( DepCheckSettings . KEYS . ANALYZER_NEXUS_USES_PROXY , false )
5566}
5667
5768object Settings {
0 commit comments