diff --git a/pom.xml b/pom.xml index d848d0c..6950886 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 com.cx.plugin CxConsolePlugin - 1.1.26 + 1.1.27 jar @@ -134,7 +134,7 @@ com.checkmarx cx-client-common - 2023.2.5 + 2023.4.1 @@ -204,18 +204,26 @@ org.tmatesoft.sqljet sqljet + + org.codehaus.plexus + plexus-archiver + + + org.bouncycastle + bcprov-jdk15on + org.json json - 20230227 + 20231013 com.google.guava guava - 31.1-jre + 32.0.0-android @@ -238,7 +246,7 @@ io.netty netty-codec-http - 4.1.77.Final + 4.1.100.Final com.fasterxml.jackson.core @@ -305,6 +313,26 @@ sqljet 1.1.15 + + org.codehaus.plexus + plexus-archiver + 4.8.0 + + + commons-compress + org.apache.commons + + + plexus-utils + org.codehaus.plexus + + + + + org.bouncycastle + bcprov-jdk15on + 1.70 + commons-cli @@ -353,6 +381,10 @@ org.apache.logging.log4j log4j-slf4j-impl + + org.eclipse.jgit + org.eclipse.jgit + @@ -382,6 +414,11 @@ log4j-slf4j-impl 2.17.1 + + org.eclipse.jgit + org.eclipse.jgit + 6.6.1.202309021850-r + org.apache.logging.log4j diff --git a/src/main/java/com/cx/plugin/cli/configascode/SastConfig.java b/src/main/java/com/cx/plugin/cli/configascode/SastConfig.java index dca4db5..24afb85 100644 --- a/src/main/java/com/cx/plugin/cli/configascode/SastConfig.java +++ b/src/main/java/com/cx/plugin/cli/configascode/SastConfig.java @@ -21,6 +21,8 @@ public class SastConfig { private int medium; @Optional private int high; + @Optional + private boolean avoidDuplicateProjectScans; @Optional private boolean isOverrideProjectSetting; @Optional @@ -102,11 +104,19 @@ public boolean isPrivateScan() { public void setPrivateScan(boolean privateScan) { this.privateScan = privateScan; } + + public boolean isAvoidDuplicateProjectScans() { + return avoidDuplicateProjectScans; + } + + public void setAvoidDuplicateProjectScans(boolean avoidDuplicateProjectScans) { + this.avoidDuplicateProjectScans = avoidDuplicateProjectScans; + } public boolean isOverrideProjectSetting() { return isOverrideProjectSetting; } - + public void setOverrideProjectSetting(boolean isOverrideProjectSetting) { this.isOverrideProjectSetting = isOverrideProjectSetting; } diff --git a/src/main/java/com/cx/plugin/cli/constants/ArgDescriptions.java b/src/main/java/com/cx/plugin/cli/constants/ArgDescriptions.java index dc79787..c6289d3 100644 --- a/src/main/java/com/cx/plugin/cli/constants/ArgDescriptions.java +++ b/src/main/java/com/cx/plugin/cli/constants/ArgDescriptions.java @@ -159,4 +159,5 @@ private ArgDescriptions() { static final String PERIODIC_FULL_SCAN = "Run a full scan after X incremental scans . Scans all files, (-Incremental should be enable). Optional."; + static final String AVOID_DUPLICATE_PROJECT_SCANS = "Avoid duplicate project scans in queue"; } diff --git a/src/main/java/com/cx/plugin/cli/constants/Command.java b/src/main/java/com/cx/plugin/cli/constants/Command.java index 837e97b..9af7e14 100644 --- a/src/main/java/com/cx/plugin/cli/constants/Command.java +++ b/src/main/java/com/cx/plugin/cli/constants/Command.java @@ -184,7 +184,8 @@ public static Options getOptions() { options.addOption(POST_SCAN_ACTION, true, ArgDescriptions.POST_SCAN_ACTION); options.addOption(PERIODIC_FULL_SCAN, true, ArgDescriptions.PERIODIC_FULL_SCAN); - + options.addOption(AVOID_DUPLICATE_PROJECT_SCANS, false, ArgDescriptions.AVOID_DUPLICATE_PROJECT_SCANS); + return options; } diff --git a/src/main/java/com/cx/plugin/cli/constants/Parameters.java b/src/main/java/com/cx/plugin/cli/constants/Parameters.java index ad74ab2..84f5162 100644 --- a/src/main/java/com/cx/plugin/cli/constants/Parameters.java +++ b/src/main/java/com/cx/plugin/cli/constants/Parameters.java @@ -121,5 +121,5 @@ private Parameters() { public static final String POST_SCAN_ACTION = "postscanaction"; public static final String PERIODIC_FULL_SCAN = "periodicfullscan"; - + public static final String AVOID_DUPLICATE_PROJECT_SCANS = "avoidduplicateprojectscans"; } diff --git a/src/main/java/com/cx/plugin/cli/utils/CxConfigHelper.java b/src/main/java/com/cx/plugin/cli/utils/CxConfigHelper.java index be20eae..859f803 100644 --- a/src/main/java/com/cx/plugin/cli/utils/CxConfigHelper.java +++ b/src/main/java/com/cx/plugin/cli/utils/CxConfigHelper.java @@ -223,7 +223,7 @@ public CxScanConfig resolveConfiguration(Command command, CommandLine cmd) throw scanConfig.setIncremental(isIncremental); } } - + scanConfig.setAvoidDuplicateProjectScans(cmd.hasOption(AVOID_DUPLICATE_PROJECT_SCANS)); setSASTThresholds(scanConfig); String dsLocationPath = getSharedDependencyScanOption(scanConfig, OSA_LOCATION_PATH, SCA_LOCATION_PATH); @@ -512,6 +512,11 @@ private void mapSastConfiguration(Optional sast, CxScanConfig scanCo overridesResults.put("Master Branch Project Name", String.valueOf(pValue)); }); + sast.map(SastConfig::isAvoidDuplicateProjectScans) + .ifPresent(pValue -> { + scanConfig.setAvoidDuplicateProjectScans(pValue); + overridesResults.put("Avoid Duplicate Project Scans", String.valueOf(pValue)); + }); } private void mapProjectConfiguration(Optional project, CxScanConfig scanConfig, Map overridesResults) throws CLIParsingException {