Skip to content

Commit ee1208b

Browse files
authored
Merge pull request #30 from blackducksoftware/dev/djm/IALERT-3910-clean
IALERT-3910 - Add ability to set code location name
2 parents f9b2b5f + c84837d commit ee1208b

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

src/com/blackduck/integration/pipeline/SimplePipeline.groovy

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,21 +146,33 @@ class SimplePipeline extends Pipeline {
146146
}
147147

148148
DetectStage addDetectPopDockerStage(String imageName) {
149-
return addDetectPopDockerStage(imageName, "")
149+
return addDetectPopDockerStage(imageName, "", false)
150+
}
151+
152+
DetectStage addDetectPopDockerStage(String imageName, boolean codeLocationNameAsImage) {
153+
return addDetectPopDockerStage(imageName, "", codeLocationNameAsImage)
150154
}
151155

152156
ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames) {
153157
return addDetectPopDockerStages(imageNames, "")
154158
}
155159

160+
ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, boolean codeLocationNameAsImage) {
161+
return addDetectPopDockerStages(imageNames, "", codeLocationNameAsImage)
162+
}
163+
156164
ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, String detectCommand) {
165+
return addDetectPopDockerStages(imageNames, detectCommand, false)
166+
}
167+
168+
ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, String detectCommand, boolean codeLocationNameAsImage) {
157169
ArrayList<DetectStage> detectStages = []
158-
imageNames.each { imageName -> detectStages << addDetectPopDockerStage(imageName, detectCommand) }
170+
imageNames.each { imageName -> detectStages << addDetectPopDockerStage(imageName, detectCommand, codeLocationNameAsImage) }
159171
return detectStages
160172
}
161173

162-
DetectStage addDetectPopDockerStage(String imageName, String detectCommand) {
163-
DockerImage dockerImage = new DockerImage(pipelineConfiguration, imageName)
174+
DetectStage addDetectPopDockerStage(String imageName, String detectCommand, boolean codeLocationNameAsImage) {
175+
DockerImage dockerImage = new DockerImage(pipelineConfiguration, imageName, codeLocationNameAsImage)
164176
DetectStage detectDockerStage = addDetectPopStage(dockerImage.getBdProjectName(), detectCommand)
165177
detectDockerStage.setDockerImage(dockerImage)
166178
return detectDockerStage

src/com/blackduck/integration/pipeline/tools/DetectStage.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ class DetectStage extends Stage {
4040
}
4141

4242
getPipelineConfiguration().getScriptWrapper().executeCommandWithException("docker pull ${fullImageName}")
43+
44+
addDetectParameters(dockerImage.getCodeLocationNameAsImage(pipelineConfiguration.scriptWrapper.getJenkinsProperty(DETECT_PROJECT_VERSION_NAME_OVERRIDE)))
4345
}
4446

4547
String combinedDetectParameters = "${blackduckConnection} ${getDetectCommand()} ${getDefaultExclusionParameters()}"

src/com/blackduck/integration/pipeline/tools/DockerImage.groovy

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,18 @@ class DockerImage {
99

1010
private PipelineConfiguration pipelineConfiguration
1111
private final String rawDockerImage
12+
private final boolean codeLocationNameAsImage
1213
private final String dockerImageOrg
1314
private final String dockerImageName
1415
private final String bdProjectName
1516

1617
private String fullDockerImageName
1718
private String dockerImageVersion
1819

19-
DockerImage(PipelineConfiguration pipelineConfiguration, String rawDockerImage) {
20+
DockerImage(PipelineConfiguration pipelineConfiguration, String rawDockerImage, boolean codeLocationNameAsImage) {
2021
this.pipelineConfiguration = pipelineConfiguration
2122
this.rawDockerImage = rawDockerImage
23+
this.codeLocationNameAsImage = codeLocationNameAsImage
2224

2325
int slashIndex = getSlashIndex()
2426
this.dockerImageOrg = rawDockerImage.substring(0, slashIndex)
@@ -90,6 +92,15 @@ class DockerImage {
9092
}
9193
}
9294

95+
String getCodeLocationNameAsImage(String version) {
96+
if (codeLocationNameAsImage) {
97+
pipelineConfiguration.getLogger().info("Using Detect option: detect.code.location.name")
98+
return ' --detect.code.location.name=' + dockerImageOrg + "_" + dockerImageName + '_' + version
99+
} else {
100+
return ''
101+
}
102+
}
103+
93104
String getDockerDetectParams() {
94105
if (!dockerImageVersion?.trim()) {
95106
setDockerImageVersion(getDockerVersionFromEnvironment())

0 commit comments

Comments
 (0)