You've already forked sap-jenkins-library
							
							
				mirror of
				https://github.com/SAP/jenkins-library.git
				synced 2025-10-30 23:57:50 +02:00 
			
		
		
		
	Removed downloading of detect script version 6 (#4261)
Co-authored-by: ffeldmann <f.feldmann@sap.com>
This commit is contained in:
		| @@ -7,7 +7,6 @@ import ( | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| 	"path/filepath" | ||||
| 	"regexp" | ||||
| 	"sort" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| @@ -291,22 +290,7 @@ func getDetectScript(config detectExecuteScanOptions, utils detectUtils) error { | ||||
| 		log.Entry().Infof("Using Detect Rescan script") | ||||
| 		return utils.DownloadFile("https://raw.githubusercontent.com/blackducksoftware/detect_rescan/master/detect_rescan.sh", "detect.sh", nil, nil) | ||||
| 	} | ||||
| 	env := utils.GetOsEnv() | ||||
| 	env = append(env, config.CustomEnvironmentVariables...) | ||||
| 	if piperutils.ContainsStringPart(env, "DETECT_LATEST_RELEASE_VERSION") { | ||||
| 		releaseVersion := "" | ||||
| 		for _, i := range env { | ||||
| 			if strings.Contains(i, "DETECT_LATEST_RELEASE_VERSION") { | ||||
| 				releaseVersion = strings.Split(i, "=")[1] | ||||
| 			} | ||||
| 		} | ||||
| 		log.Entry().Infof("Using detect script Version %v ", releaseVersion) | ||||
| 		detect6, _ := regexp.MatchString("6\\.\\d\\.\\d", releaseVersion) | ||||
| 		if detect6 { | ||||
| 			log.Entry().Infof("Downloading Detect 6.x") | ||||
| 			return utils.DownloadFile("https://detect.synopsys.com/detect.sh", "detect.sh", nil, nil) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	log.Entry().Infof("Downloading Detect7") | ||||
| 	return utils.DownloadFile("https://detect.synopsys.com/detect7.sh", "detect.sh", nil, nil) | ||||
| } | ||||
|   | ||||
| @@ -275,7 +275,7 @@ func addDetectExecuteScanFlags(cmd *cobra.Command, stepConfig *detectExecuteScan | ||||
| 	cmd.Flags().StringSliceVar(&stepConfig.MavenExcludedScopes, "mavenExcludedScopes", []string{}, "The maven scopes that need to be excluded from the scan. For example, setting the value 'test' will exclude all components which are defined with a test scope in maven") | ||||
| 	cmd.Flags().StringSliceVar(&stepConfig.DetectTools, "detectTools", []string{}, "The type of BlackDuck scanners to include while running the BlackDuck scan. By default All scanners are included. For the complete list of possible values, Please refer [Synopsys detect documentation](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=properties%2Fconfiguration%2Fpaths.html&_LANG=enus&anchor=detect-tools-included)") | ||||
| 	cmd.Flags().BoolVar(&stepConfig.ScanOnChanges, "scanOnChanges", false, "This flag determines if the scan is submitted to the server. If set to true, then the scan request is submitted to the server only when changes are detected in the Open Source Bill of Materials If the flag is set to false, then the scan request is submitted to server regardless of any changes. For more details please refer to the [documentation](https://github.com/blackducksoftware/detect_rescan/blob/master/README.md)") | ||||
| 	cmd.Flags().StringSliceVar(&stepConfig.CustomEnvironmentVariables, "customEnvironmentVariables", []string{}, "A list of environment variables which can be set to prepare the environment to run a BlackDuck scan. This includes a list of environment variables defined by Synopsys. The full list can be found [here](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=configuring%2Fenvvars.html&_LANG=enus) This list affects the detect script downloaded while running the scan. By default detect7.sh will be used. To continue using different versions of detect, please use DETECT_LATEST_RELEASE_VERSION and set it to a valid value defined [here](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=releasenotes.html&_LANG=enus) Additionally, please note, depending on the Project certain versions of detect will be required. For example: For Swift version 5.5 and lower, Detect 7.13.0 is the minimum required version. For Swift version 5.6 and higher, Detect 7.14.0 is required ") | ||||
| 	cmd.Flags().StringSliceVar(&stepConfig.CustomEnvironmentVariables, "customEnvironmentVariables", []string{}, "A list of environment variables which can be set to prepare the environment to run a BlackDuck scan. This includes a list of environment variables defined by Synopsys. The full list can be found [here](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=configuring%2Fenvvars.html&_LANG=enus) This list affects the detect script downloaded while running the scan. Right now only detect7.sh is available for downloading") | ||||
| 	cmd.Flags().IntVar(&stepConfig.MinScanInterval, "minScanInterval", 0, "This parameter controls the frequency (in number of hours) at which the signature scan is re-submitted for scan. When set to a value greater than 0, the signature scans are skipped until the specified number of hours has elapsed since the last signature scan.") | ||||
| 	cmd.Flags().StringVar(&stepConfig.GithubToken, "githubToken", os.Getenv("PIPER_githubToken"), "GitHub personal access token as per https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line") | ||||
| 	cmd.Flags().BoolVar(&stepConfig.CreateResultIssue, "createResultIssue", false, "Activate creation of a result issue in GitHub.") | ||||
|   | ||||
| @@ -309,42 +309,6 @@ func TestRunDetect(t *testing.T) { | ||||
| 		assert.Equal(t, expectedScript, utilsMock.Calls[0]) | ||||
| 	}) | ||||
|  | ||||
| 	t.Run("success case detect 6", func(t *testing.T) { | ||||
| 		t.Parallel() | ||||
| 		ctx := context.Background() | ||||
| 		utilsMock := newDetectTestUtilsBundle(false) | ||||
| 		utilsMock.AddFile("detect.sh", []byte("")) | ||||
| 		options := detectExecuteScanOptions{ | ||||
| 			CustomEnvironmentVariables: []string{"DETECT_LATEST_RELEASE_VERSION=6.8.0"}, | ||||
| 		} | ||||
| 		err := runDetect(ctx, options, utilsMock, &detectExecuteScanInflux{}) | ||||
|  | ||||
| 		assert.Equal(t, utilsMock.downloadedFiles["https://detect.synopsys.com/detect.sh"], "detect.sh") | ||||
| 		assert.True(t, utilsMock.HasRemovedFile("detect.sh")) | ||||
| 		assert.NoError(t, err) | ||||
| 		assert.Equal(t, ".", utilsMock.Dir, "Wrong execution directory used") | ||||
| 		assert.Equal(t, "/bin/bash", utilsMock.Shell[0], "Bash shell expected") | ||||
| 		expectedScript := "./detect.sh --blackduck.url= --blackduck.api.token= \"--detect.project.name=''\" \"--detect.project.version.name=''\" \"--detect.code.location.name=''\" --detect.source.path='.'" | ||||
| 		assert.Equal(t, expectedScript, utilsMock.Calls[0]) | ||||
| 	}) | ||||
|  | ||||
| 	t.Run("success case detect 6 from OS env", func(t *testing.T) { | ||||
| 		t.Parallel() | ||||
| 		ctx := context.Background() | ||||
| 		utilsMock := newDetectTestUtilsBundle(false) | ||||
| 		utilsMock.AddFile("detect.sh", []byte("")) | ||||
| 		utilsMock.customEnv = []string{"DETECT_LATEST_RELEASE_VERSION=6.8.0"} | ||||
| 		err := runDetect(ctx, detectExecuteScanOptions{}, utilsMock, &detectExecuteScanInflux{}) | ||||
|  | ||||
| 		assert.Equal(t, utilsMock.downloadedFiles["https://detect.synopsys.com/detect.sh"], "detect.sh") | ||||
| 		assert.True(t, utilsMock.HasRemovedFile("detect.sh")) | ||||
| 		assert.NoError(t, err) | ||||
| 		assert.Equal(t, ".", utilsMock.Dir, "Wrong execution directory used") | ||||
| 		assert.Equal(t, "/bin/bash", utilsMock.Shell[0], "Bash shell expected") | ||||
| 		expectedScript := "./detect.sh --blackduck.url= --blackduck.api.token= \"--detect.project.name=''\" \"--detect.project.version.name=''\" \"--detect.code.location.name=''\" --detect.source.path='.'" | ||||
| 		assert.Equal(t, expectedScript, utilsMock.Calls[0]) | ||||
| 	}) | ||||
|  | ||||
| 	t.Run("failure case", func(t *testing.T) { | ||||
| 		t.Parallel() | ||||
| 		ctx := context.Background() | ||||
|   | ||||
| @@ -300,11 +300,7 @@ spec: | ||||
|         description: | ||||
|           "A list of environment variables which can be set to prepare the environment to run a BlackDuck scan. This includes a list of environment variables defined by | ||||
|           Synopsys. The full list can be found [here](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=configuring%2Fenvvars.html&_LANG=enus) | ||||
|           This list affects the detect script downloaded while running the scan. By default detect7.sh will be used. To continue using different versions of detect, please use DETECT_LATEST_RELEASE_VERSION and set it to a valid value | ||||
|           defined [here](https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=releasenotes.html&_LANG=enus) | ||||
|           Additionally, please note, depending on the Project certain versions of detect will be required. | ||||
|           For example: For Swift version 5.5 and lower, Detect 7.13.0 is the minimum required version. | ||||
|           For Swift version 5.6 and higher, Detect 7.14.0 is required " | ||||
|           This list affects the detect script downloaded while running the scan. Right now only detect7.sh is available for downloading" | ||||
|         type: "[]string" | ||||
|         scope: | ||||
|           - PARAMETERS | ||||
|   | ||||
		Reference in New Issue
	
	Block a user