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 {