From 45a6ca09f9e265babfd1af3512bd7c6cf4a9533d Mon Sep 17 00:00:00 2001 From: Jimmy Thrasibule Date: Mon, 28 Nov 2022 10:25:48 +0100 Subject: [PATCH 1/3] config: Enable global SCA Resolver configuration Allow the user to enable and provide SCA Resolver parameters from within the global configuration. Signed-off-by: Jimmy Thrasibule --- .../configuration/AgentTaskConfigurator.java | 11 ++++--- .../plugin/configuration/CxGlobalConfig.java | 31 ++++++++++++++++++- .../com/cx/plugin/utils/CxConfigHelper.java | 6 ++-- .../com/cx/plugin/cxGlobalConfig.ftl | 6 ++++ .../com/cx/plugin/editExampleTask.ftl | 16 +++++----- 5 files changed, 54 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java b/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java index 796c621..8f906aa 100644 --- a/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java +++ b/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java @@ -314,7 +314,10 @@ private void populateOSA_SCA_FieldsForCreate(Map context) { context.put(GLOBAL_CXSCA_ACCOUNT_NAME,getAdminConfig(GLOBAL_CXSCA_ACCOUNT_NAME)); context.put(GLOBAL_CXSCA_USERNAME,getAdminConfig(GLOBAL_CXSCA_USERNAME)); context.put(GLOBAL_CXSCA_PWD,getAdminConfig(GLOBAL_CXSCA_PWD)); - + + context.put(CXSCA_RESOLVER_ENABLED_GLOBAL,getAdminConfig(CXSCA_RESOLVER_ENABLED_GLOBAL)); + context.put(CXSCA_RESOLVER_PATH_GLOBAL,getAdminConfig(CXSCA_RESOLVER_PATH_GLOBAL)); + context.put(CXSCA_RESOLVER_ADD_PARAM_GLOBAL,getAdminConfig(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); context.put(GLOBAL_OSA_ARCHIVE_INCLUDE_PATTERNS, getAdminConfig(GLOBAL_OSA_ARCHIVE_INCLUDE_PATTERNS)); context.put(GLOBAL_OSA_INSTALL_BEFORE_SCAN, getAdminConfig(GLOBAL_OSA_INSTALL_BEFORE_SCAN)); @@ -550,9 +553,9 @@ private Map generateCxOSAAndSCAFields(@NotNull final ActionParam config.put(CXSCA_USERNAME,getAdminConfig(GLOBAL_CXSCA_USERNAME).trim()); config.put(CXSCA_PWD,getAdminConfig(GLOBAL_CXSCA_PWD).trim()); - config.put(CXSCA_RESOLVER_ENABLED_GLOBAL,getDefaultString(params, CXSCA_RESOLVER_ENABLED_GLOBAL).trim()); - config.put(CXSCA_RESOLVER_PATH_GLOBAL,getDefaultString(params, CXSCA_RESOLVER_PATH_GLOBAL).trim()); - config.put(CXSCA_RESOLVER_ADD_PARAM_GLOBAL,getDefaultString(params, CXSCA_RESOLVER_ADD_PARAM_GLOBAL).trim()); + config.put(CXSCA_RESOLVER_ENABLED_GLOBAL,getAdminConfig(CXSCA_RESOLVER_ENABLED_GLOBAL).trim()); + config.put(CXSCA_RESOLVER_PATH_GLOBAL,getAdminConfig(CXSCA_RESOLVER_PATH_GLOBAL).trim()); + config.put(CXSCA_RESOLVER_ADD_PARAM_GLOBAL,getAdminConfig(CXSCA_RESOLVER_ADD_PARAM_GLOBAL).trim()); } diff --git a/src/main/java/com/cx/plugin/configuration/CxGlobalConfig.java b/src/main/java/com/cx/plugin/configuration/CxGlobalConfig.java index cacad22..3eb9cd4 100644 --- a/src/main/java/com/cx/plugin/configuration/CxGlobalConfig.java +++ b/src/main/java/com/cx/plugin/configuration/CxGlobalConfig.java @@ -66,6 +66,10 @@ public class CxGlobalConfig extends GlobalAdminAction { private String globalcxScaAccessControlServerUrl = DEFAULT_CXSCA_ACCESS_CONTROL_URL; private String globalcxScaWebAppUrl = DEFAULT_CXSCA_WEB_APP_URL; private String globalcxScaAccountName = ""; + + private String globalCxScaResolverEnabled; + private String globalCxScaResolverPath; + private String globalCxScaResolverAddParam; private Map globalDependencyScanTypeValues = ImmutableMap.of("OSA", "Use CxOSA dependency scanner", "AST_SCA", "Use CxSCA dependency scanner"); @@ -104,7 +108,11 @@ public String execute() { globalcxScaUsername = adminConfig.getSystemProperty(GLOBAL_CXSCA_USERNAME); globalcxScaPss = adminConfig.getSystemProperty(GLOBAL_CXSCA_PWD); - + + globalCxScaResolverEnabled = adminConfig.getSystemProperty(CXSCA_RESOLVER_ENABLED_GLOBAL); + globalCxScaResolverPath = adminConfig.getSystemProperty(CXSCA_RESOLVER_PATH_GLOBAL); + globalCxScaResolverAddParam = adminConfig.getSystemProperty(CXSCA_RESOLVER_ADD_PARAM_GLOBAL); + globalFolderExclusions = adminConfig.getSystemProperty(GLOBAL_FOLDER_EXCLUSION); String filterProperty = adminConfig.getSystemProperty(GLOBAL_FILTER_PATTERN); if (filterProperty != null) { @@ -177,6 +185,10 @@ public String save() { adminConfig.setSystemProperty(GLOBAL_CXSCA_USERNAME, globalcxScaUsername); adminConfig.setSystemProperty(GLOBAL_CXSCA_PWD, encrypt(globalcxScaPss)); + adminConfig.setSystemProperty(CXSCA_RESOLVER_ENABLED_GLOBAL, globalCxScaResolverEnabled); + adminConfig.setSystemProperty(CXSCA_RESOLVER_PATH_GLOBAL, globalCxScaResolverPath); + adminConfig.setSystemProperty(CXSCA_RESOLVER_ADD_PARAM_GLOBAL, globalCxScaResolverAddParam); + adminConfig.setSystemProperty(GLOBAL_FOLDER_EXCLUSION, globalFolderExclusions); adminConfig.setSystemProperty(GLOBAL_FILTER_PATTERN, globalFilterPatterns); adminConfig.setSystemProperty(GLOBAL_SCAN_TIMEOUT_IN_MINUTES, globalScanTimeoutInMinutes); @@ -513,6 +525,23 @@ public void setGlobalcxScaAccountName(String globalcxScaAccountName) { this.globalcxScaAccountName = globalcxScaAccountName; } + public String getGlobalCxScaResolverEnabled() { return globalCxScaResolverEnabled; } + + public void setGlobalCxScaResolverEnabled(String globalCxScaResolverEnabled) { + this.globalCxScaResolverEnabled = globalCxScaResolverEnabled; + } + + public String getGlobalCxScaResolverPath() { return globalCxScaResolverPath; } + + public void setGlobalCxScaResolverPath(String globalCxScaResolverPath) { + this.globalCxScaResolverPath = globalCxScaResolverPath; + } + + public String getGlobalCxScaResolverAddParam() { return globalCxScaResolverAddParam; } + + public void setGlobalCxScaResolverAddParam(String globalCxScaResolverAddParam) { + this.globalCxScaResolverAddParam = globalCxScaResolverAddParam; + } public Map getGlobalDependencyScanTypeValues() { return globalDependencyScanTypeValues; diff --git a/src/main/java/com/cx/plugin/utils/CxConfigHelper.java b/src/main/java/com/cx/plugin/utils/CxConfigHelper.java index c7555e5..26a63bf 100644 --- a/src/main/java/com/cx/plugin/utils/CxConfigHelper.java +++ b/src/main/java/com/cx/plugin/utils/CxConfigHelper.java @@ -426,10 +426,10 @@ private AstScaConfig getScaConfig(ConfigurationMap configMap, boolean fromGlobal result.setTenant(getAdminConfig(GLOBAL_CXSCA_ACCOUNT_NAME)); result.setUsername(getAdminConfig(GLOBAL_CXSCA_USERNAME)); result.setPassword(decrypt(getAdminConfig(GLOBAL_CXSCA_PWD))); - if(OPTION_TRUE.equalsIgnoreCase(configMap.get(CXSCA_RESOLVER_ENABLED_GLOBAL))) { validateScaResolverParams(configMap.get(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); - result.setPathToScaResolver(configMap.get(CXSCA_RESOLVER_PATH_GLOBAL)); - result.setScaResolverAddParameters(configMap.get(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); + if(OPTION_TRUE.equalsIgnoreCase(getAdminConfig(CXSCA_RESOLVER_ENABLED_GLOBAL))) { + result.setPathToScaResolver(getAdminConfig(CXSCA_RESOLVER_PATH_GLOBAL)); + result.setScaResolverAddParameters(getAdminConfig(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); result.setEnableScaResolver(true); } diff --git a/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl b/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl index 9ab780c..7b2900f 100644 --- a/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl +++ b/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl @@ -131,6 +131,12 @@ [@ww.password labelKey="cxScaGlobalPassword.label" name="globalcxScaPss" showPassword='true' /]
+
+ [@ww.checkbox labelKey="cxScaResolverEnabled.label" name="globalCxScaResolverEnabled" id="globalCxScaResolverEnabled" toggle='true' /] + [@ui.bambooSection title='SCA Resolver' cssClass="cx" dependsOn="globalCxScaResolverEnabled" showOn="true"] + [@ww.textfield labelKey="cxScaResolverPath.label" name="globalCxScaResolverPath" id="globalCxScaResolverPath" descriptionKey="cxScaResolverPath.description" required='true'/] + [@ww.textarea labelKey="cxScaResolverAddParam.label" name="globalCxScaResolverAddParam" id="globalCxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field" required='true'/] + [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] diff --git a/src/main/resources/com/cx/plugin/editExampleTask.ftl b/src/main/resources/com/cx/plugin/editExampleTask.ftl index 401a768..33d494d 100644 --- a/src/main/resources/com/cx/plugin/editExampleTask.ftl +++ b/src/main/resources/com/cx/plugin/editExampleTask.ftl @@ -189,11 +189,11 @@ [@ww.password labelKey="cxScaPassword.label" id="cxScaPassword" name="cxScaPassword" showPassword='true' required='true'/]
- +
[@ww.checkbox labelKey="cxScaResolverEnabled.label" name="cxScaResolverEnabled" id="cxScaResolverEnabled" toggle='true' /] [@ui.bambooSection title='SCA Resolver' dependsOn='cxScaResolverEnabled' showOn='true' cssClass="cx"] [@ww.textfield labelKey="cxScaResolverPath.label" name="cxScaResolverPath" id="cxScaResolverPath" descriptionKey="cxScaResolverPath.description" required='true'/] - [@ww.textarea labelKey="cxScaResolverAddParam.label" name="cxScaResolverAddParam" id="cxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" required='true'/] + [@ww.textarea labelKey="cxScaResolverAddParam.label" name="cxScaResolverAddParam" id="cxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field" required='true'/] [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] @@ -228,12 +228,12 @@ [@ww.label labelKey="cxScaUsername.label" name="globalcxScaUsername"/] [@ww.label labelKey="cxScaPassword.label" type="password" /] - - [@ww.checkbox labelKey="cxScaResolverEnabled.label" name="globalCxScaResolverEnabled" id="globalCxScaResolverEnabled" toggle='true' /] - [@ui.bambooSection title='SCA Resolver' dependsOn='globalCxScaResolverEnabled' showOn='true' cssClass="cx"] - [@ww.textfield labelKey="cxScaResolverPath.label" name="globalCxScaResolverPath" id="globalCxScaResolverPath" descriptionKey="cxScaResolverPath.description" required='true'/] - [@ww.textarea labelKey="cxScaResolverAddParam.label" name="globalCxScaResolverAddParam" id="globalCxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" required='true'/] - [/@ui.bambooSection] +
+ [@ww.checkbox labelKey="cxScaResolverEnabled.label" name="globalCxScaResolverEnabled" id="globalCxScaResolverEnabled" toggle='true' disabled="true" /] + [@ui.bambooSection title='SCA Resolver' dependsOn='globalCxScaResolverEnabled' showOn='true' cssClass="cx"] + [@ww.label labelKey="cxScaResolverPath.label" name="globalCxScaResolverPath"/] + [@ww.label labelKey="cxScaResolverAddParam.label" name="globalCxScaResolverAddParam" rows="3" cssClass="long-field"/] + [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] From 0a9851f2141e480b27ef45216262fd9a2a019cbf Mon Sep 17 00:00:00 2001 From: Jimmy Thrasibule Date: Tue, 29 Nov 2022 10:44:06 +0100 Subject: [PATCH 2/3] config: Predefine SCA Resolver arguments from task Use the task configuration to prefill the manadatory arguments for SCA Resolver. SAST arguments are also filled in. The user can still override the defaults by redefining the arguments from within the "SCA Resolver Additional" field. Signed-off-by: Jimmy Thrasibule --- .../configuration/AgentTaskConfigurator.java | 4 +- .../com/cx/plugin/utils/CxConfigHelper.java | 81 ++++++++++--------- .../com/cx/plugin/cxGlobalConfig.ftl | 2 +- .../com/cx/plugin/editExampleTask.ftl | 2 +- src/main/resources/english.properties | 2 +- 5 files changed, 49 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java b/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java index 8f906aa..c72f3f7 100644 --- a/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java +++ b/src/main/java/com/cx/plugin/configuration/AgentTaskConfigurator.java @@ -667,12 +667,10 @@ public void validate(@NotNull final ActionParametersMap params, @NotNull final E } validateNotEmpty(params, errorCollection, PROJECT_NAME); if(scaResolverEnabled && useGlobalSettings && enableDependancyScan){ - validateNotEmpty(params, errorCollection, CXSCA_RESOLVER_PATH); - validateNotEmpty(params, errorCollection, CXSCA_RESOLVER_ADD_PARAM); + validateNotEmpty(params, errorCollection, CXSCA_RESOLVER_PATH); } if(scaResolverEnabledGlobal && !useGlobalSettings && enableDependancyScan){ validateNotEmpty(params, errorCollection, CXSCA_RESOLVER_PATH_GLOBAL); - validateNotEmpty(params, errorCollection, CXSCA_RESOLVER_ADD_PARAM_GLOBAL); } containsIllegals(params, errorCollection, PROJECT_NAME); validateProjectNameLength(params, errorCollection, PROJECT_NAME); diff --git a/src/main/java/com/cx/plugin/utils/CxConfigHelper.java b/src/main/java/com/cx/plugin/utils/CxConfigHelper.java index 26a63bf..ece6a3a 100644 --- a/src/main/java/com/cx/plugin/utils/CxConfigHelper.java +++ b/src/main/java/com/cx/plugin/utils/CxConfigHelper.java @@ -93,11 +93,7 @@ import java.net.URLDecoder; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; +import java.util.*; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.SystemUtils; @@ -113,6 +109,7 @@ import com.cx.restclient.dto.ProxyConfig; import com.cx.restclient.dto.ScannerType; import com.cx.restclient.exception.CxClientException; +import com.cx.restclient.sca.utils.CxSCAResolverUtils; /** * Created by Galn on 25/10/2017. @@ -132,6 +129,8 @@ public class CxConfigHelper { private boolean dependencyScanEnabled; private ScannerType dependencyScanType; private boolean effectiveIncrementalScan; + private static final String scaResolverResultPath = ".cxscaresolver" + File.separator + "sca"; + private static final String scaResolverSastResultPath = ".cxscaresolver" + File.separator + "sast"; public boolean isEffectiveIncrementalScan() { return effectiveIncrementalScan; @@ -254,7 +253,11 @@ public CxScanConfig resolveConfigurationMap(ConfigurationMap configMap, File wor scanConfig.setOsaFolderExclusions(configMap.get(DEPENDENCY_SCAN_FOLDER_EXCLUDE)); if(configMap.get(DEPENDENCY_SCAN_TYPE).equalsIgnoreCase(ScannerType.AST_SCA.toString())) { scannerType = ScannerType.AST_SCA; - scanConfig.setAstScaConfig(getScaConfig(configMap, false)); + try { + scanConfig.setAstScaConfig(getScaConfig(configMap, workDir, false)); + } catch(ParseException e) { + throw new TaskException("Could not parse SCA additional arguments.", e); + } }else { scannerType = ScannerType.OSA; scanConfig.setOsaArchiveIncludePatterns(configMap.get(OSA_ARCHIVE_INCLUDE_PATTERNS)); @@ -266,7 +269,11 @@ public CxScanConfig resolveConfigurationMap(ConfigurationMap configMap, File wor scanConfig.setOsaFolderExclusions(getAdminConfig(GLOBAL_DEPENDENCY_SCAN_FOLDER_EXCLUDE)); if(getAdminConfig(GLOBAL_DEPENDENCY_SCAN_TYPE).equalsIgnoreCase(ScannerType.AST_SCA.toString())) { scannerType = ScannerType.AST_SCA; - scanConfig.setAstScaConfig(getScaConfig(configMap, true)); + try { + scanConfig.setAstScaConfig(getScaConfig(configMap, workDir, true)); + } catch(ParseException e) { + throw new TaskException("Could not parse SCA additional arguments.", e); + } }else { scannerType = ScannerType.OSA; scanConfig.setOsaArchiveIncludePatterns(getAdminConfig(GLOBAL_OSA_ARCHIVE_INCLUDE_PATTERNS)); @@ -416,7 +423,7 @@ private String getAdminConfig(String key) { return StringUtils.defaultString(adminConfig.getSystemProperty(key)); } - private AstScaConfig getScaConfig(ConfigurationMap configMap, boolean fromGlobal) { + private AstScaConfig getScaConfig(ConfigurationMap configMap, File workDir, boolean fromGlobal) throws ParseException { AstScaConfig result = new AstScaConfig(); if(fromGlobal) { @@ -426,12 +433,10 @@ private AstScaConfig getScaConfig(ConfigurationMap configMap, boolean fromGlobal result.setTenant(getAdminConfig(GLOBAL_CXSCA_ACCOUNT_NAME)); result.setUsername(getAdminConfig(GLOBAL_CXSCA_USERNAME)); result.setPassword(decrypt(getAdminConfig(GLOBAL_CXSCA_PWD))); - validateScaResolverParams(configMap.get(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); if(OPTION_TRUE.equalsIgnoreCase(getAdminConfig(CXSCA_RESOLVER_ENABLED_GLOBAL))) { result.setPathToScaResolver(getAdminConfig(CXSCA_RESOLVER_PATH_GLOBAL)); - result.setScaResolverAddParameters(getAdminConfig(CXSCA_RESOLVER_ADD_PARAM_GLOBAL)); + result.setScaResolverAddParameters(generateScaResolverParams(configMap, workDir, true)); result.setEnableScaResolver(true); - } @@ -444,11 +449,9 @@ private AstScaConfig getScaConfig(ConfigurationMap configMap, boolean fromGlobal result.setPassword(decrypt(configMap.get(CXSCA_PWD))); if(OPTION_TRUE.equalsIgnoreCase(configMap.get(CXSCA_RESOLVER_ENABLED))) { - validateScaResolverParams(configMap.get(CXSCA_RESOLVER_ADD_PARAM)); result.setPathToScaResolver(configMap.get(CXSCA_RESOLVER_PATH)); - result.setScaResolverAddParameters(configMap.get(CXSCA_RESOLVER_ADD_PARAM)); + result.setScaResolverAddParameters(generateScaResolverParams(configMap, workDir, false)); result.setEnableScaResolver(true); - } @@ -456,32 +459,38 @@ private AstScaConfig getScaConfig(ConfigurationMap configMap, boolean fromGlobal return result; } - - - private static void validateScaResolverParams(String additionalParams) { - String[] arguments = additionalParams.split(" "); + private List generateScaResolverParams(ConfigurationMap configMap, File workDir, boolean fromGlobal) + throws ParseException { Map params = new HashMap<>(); - - for (int i = 0; i < arguments.length ; i++) { - if(arguments[i].startsWith("-") && (i+1 != arguments.length && !arguments[i+1].startsWith("-"))) - params.put(arguments[i], arguments[i+1]); - else - params.put(arguments[i], ""); + /* Mandatory Parameters */ + params.put("--resolver-result-path", workDir.getAbsolutePath() + File.separator + scaResolverResultPath); + params.put("--scan-path", workDir.getAbsolutePath()); + params.put("--project-name", configMap.get(PROJECT_NAME).trim()); + /* CxSAST Parameters */ + params.put("--sast-result-path", workDir.getAbsolutePath() + File.separator + scaResolverSastResultPath); + params.put("--cxserver", fromGlobal ? getAdminConfig(GLOBAL_SERVER_URL) : configMap.get(SERVER_URL)); + params.put("--cxuser", fromGlobal ? getAdminConfig(GLOBAL_USER_NAME) : configMap.get(USER_NAME)); + params.put("--cxpassword", decrypt(fromGlobal ? getAdminConfig(GLOBAL_PWD) : configMap.get(PASSWORD))); + params.put("--cxprojectname", configMap.get(PROJECT_NAME).trim()); + /* User additional arguments */ + params.putAll( + CxSCAResolverUtils.parseArguments( + fromGlobal ? getAdminConfig(CXSCA_RESOLVER_ADD_PARAM_GLOBAL) : configMap.get(CXSCA_RESOLVER_ADD_PARAM) + ) + ); + + List resolved = new ArrayList<>(); + for (Map.Entry entry : params.entrySet()) { + if (entry.getValue() != null) { + resolved.add(entry.getKey()); + resolved.add(entry.getValue()); + } else { + resolved.add(entry.getKey()); + } } - String dirPath = params.get("-s"); - if(StringUtils.isEmpty(dirPath)) - throw new CxClientException("Source code path (-s ) is not provided."); - - String projectName = params.get("-n"); - if(StringUtils.isEmpty(projectName)) - throw new CxClientException("Project name parameter (-n ) must be provided to ScaResolver."); - - String resultParam = params.get("-r"); - if(StringUtils.isEmpty(resultParam)) - throw new CxClientException("Result path parameter (-r ) must be provided to ScaResolver."); - + return resolved; } private static void fileExists(String file) { diff --git a/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl b/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl index 7b2900f..c127665 100644 --- a/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl +++ b/src/main/resources/com/cx/plugin/cxGlobalConfig.ftl @@ -135,7 +135,7 @@ [@ww.checkbox labelKey="cxScaResolverEnabled.label" name="globalCxScaResolverEnabled" id="globalCxScaResolverEnabled" toggle='true' /] [@ui.bambooSection title='SCA Resolver' cssClass="cx" dependsOn="globalCxScaResolverEnabled" showOn="true"] [@ww.textfield labelKey="cxScaResolverPath.label" name="globalCxScaResolverPath" id="globalCxScaResolverPath" descriptionKey="cxScaResolverPath.description" required='true'/] - [@ww.textarea labelKey="cxScaResolverAddParam.label" name="globalCxScaResolverAddParam" id="globalCxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field" required='true'/] + [@ww.textarea labelKey="cxScaResolverAddParam.label" name="globalCxScaResolverAddParam" id="globalCxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field"/] [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] diff --git a/src/main/resources/com/cx/plugin/editExampleTask.ftl b/src/main/resources/com/cx/plugin/editExampleTask.ftl index 33d494d..e1f1483 100644 --- a/src/main/resources/com/cx/plugin/editExampleTask.ftl +++ b/src/main/resources/com/cx/plugin/editExampleTask.ftl @@ -193,7 +193,7 @@ [@ww.checkbox labelKey="cxScaResolverEnabled.label" name="cxScaResolverEnabled" id="cxScaResolverEnabled" toggle='true' /] [@ui.bambooSection title='SCA Resolver' dependsOn='cxScaResolverEnabled' showOn='true' cssClass="cx"] [@ww.textfield labelKey="cxScaResolverPath.label" name="cxScaResolverPath" id="cxScaResolverPath" descriptionKey="cxScaResolverPath.description" required='true'/] - [@ww.textarea labelKey="cxScaResolverAddParam.label" name="cxScaResolverAddParam" id="cxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field" required='true'/] + [@ww.textarea labelKey="cxScaResolverAddParam.label" name="cxScaResolverAddParam" id="cxScaResolverAddParam" descriptionKey="cxScaResolverAddParam.description" rows="3" cssClass="long-field"/] [/@ui.bambooSection] [/@ui.bambooSection] [/@ui.bambooSection] diff --git a/src/main/resources/english.properties b/src/main/resources/english.properties index adde741..6374c61 100644 --- a/src/main/resources/english.properties +++ b/src/main/resources/english.properties @@ -140,7 +140,7 @@ cxScaResolverEnabled.description=Perform SCA scan using dependency resolution by cxScaResolverPath.label=Path to SCA Resolver cxScaResolverPath.description=Enter the absolute path where Sca Resolver tool is installed on the agent host. cxScaResolverAddParam.label=SCA Resolver Additional -cxScaResolverAddParam.description=Provide command line parameters supported by the Sca Resolver tool. Mandatory parameters are -s,-n and -r. +cxScaResolverAddParam.description=Provide additional command line parameters supported by the Sca Resolver tool. cxScaResolverManifest.label=Perform SCA scan by uploading manifests file(s)/source to SCA Service. cxScaResolverManifest.description=Perform SCA scan by uploading manifests file(s)/source to SCA Service. enableDependencyScan.label=Enable Dependency Scan From 2ad93d6111f98f2b0c3dd08c4454ed461d24778b Mon Sep 17 00:00:00 2001 From: Jimmy Thrasibule Date: Tue, 29 Nov 2022 10:47:23 +0100 Subject: [PATCH 3/3] pom: Fix dependency settings for maven-compiler-plugin The `groupId` entry was missing for the `maven-compiler-plugin` dependency. Signed-off-by: Jimmy Thrasibule --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index a2631a7..c3946f2 100644 --- a/pom.xml +++ b/pom.xml @@ -67,6 +67,7 @@ 3.7.0.1746 + org.apache.maven.plugins maven-compiler-plugin 3.7.0