Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
71c11a3
Notification APIs: remove unnecessary calls
shantyk Apr 1, 2026
af636c8
Don't wait at BOM level for IAC or impact analysis scans since we can…
shantyk Apr 2, 2026
42d0c54
Refactor Impact Analysis upload operation to createCodeLocationsWitho…
shantyk Apr 6, 2026
5f4efc0
Latest IntelligentModeStepRunner changes
shantyk Apr 6, 2026
e93a8d7
Pkg mngr and signature updates
shantyk Apr 13, 2026
0644815
Testing for regressions
shantyk Apr 13, 2026
0d05709
Remove unused impact analysis related methods
shantyk Apr 14, 2026
86a3e60
Remove unused ImpactAnalysisToolResult class
shantyk Apr 14, 2026
0cde1a1
Deprecate shouldWaitAtScanLevel since it simply checks if a server ve…
shantyk Apr 14, 2026
784a008
Update bd-common version with soon to be released lib version
shantyk Apr 14, 2026
1637aa2
Propogate removal of shouldWaitAtScanLevel to signature scanner
shantyk Apr 14, 2026
ee6e20e
Remove prescass pkg mngr BDIO code location upload from being conside…
shantyk Apr 14, 2026
aed3a40
Minor updates
shantyk Apr 14, 2026
2ccfdd6
Rename back to uploadBdioFiles
shantyk Apr 14, 2026
74c9aa5
Clean up comments
shantyk Apr 14, 2026
4d3e7ee
Revert changes to waitable signature scanner code loctaion
shantyk Apr 14, 2026
01329b3
Remove comments in signaturescansteprunner
shantyk Apr 14, 2026
75546af
Add missed method update for binary upload
shantyk Apr 14, 2026
35e13a0
Remove NotificationTaskRange param from WaitableCodeLocationData cons…
shantyk Apr 16, 2026
2d175bd
Fix whitespace in diff
shantyk Apr 16, 2026
5f3007d
Merge branch '11.4.z' into dev/shanty/IDETECT-4992_notification_apis_…
shantyk Apr 16, 2026
07cc4d2
Fix method rename issue after rebase
shantyk Apr 16, 2026
29922b9
Fix regression wrt correlated scanning. Correlated scan count calcula…
shantyk Apr 16, 2026
de0b0aa
Bump bd-common version 68.0.0
shantyk Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion shared-version.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
gradle.ext.blackDuckCommonVersion='67.0.20'
gradle.ext.blackDuckCommonVersion='68.0.0'
gradle.ext.springBootVersion='2.7.12'
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ private BlackDuckRunData getBlackDuckRunData(

BlackDuckServicesFactory blackDuckServicesFactory = blackDuckConnectivityResult.getBlackDuckServicesFactory();
setBlackDuckVersionLevel(blackDuckServicesFactory, blackDuckConnectivityResult);
boolean waitAtScanLevel = shouldWaitAtScanLevel(blackDuckConnectivityResult);

// Fetch server detect properties settings
Optional<DetectPropertiesSetting> serverDetectProperties = fetchDetectPropertiesFromServer(
Expand All @@ -126,7 +125,7 @@ private BlackDuckRunData getBlackDuckRunData(
blackDuckServicesFactory.getBlackDuckApiClient()
);

return createBlackDuckRunDataBasedOnPhoneHomeDecision(blackDuckDecision, blackDuckServicesFactory, blackDuckConnectivityResult, waitAtScanLevel, serverDetectProperties);
return createBlackDuckRunDataBasedOnPhoneHomeDecision(blackDuckDecision, blackDuckServicesFactory, blackDuckConnectivityResult, serverDetectProperties);
} else {
if (productBootOptions.isIgnoreConnectionFailures()) {
logger.info(String.format("Failed to connect to Black Duck SCA: %s", blackDuckConnectivityResult.getFailureReason()));
Expand All @@ -148,7 +147,6 @@ private BlackDuckRunData createBlackDuckRunDataBasedOnPhoneHomeDecision(
BlackDuckDecision blackDuckDecision,
BlackDuckServicesFactory blackDuckServicesFactory,
BlackDuckConnectivityResult blackDuckConnectivityResult,
boolean waitAtScanLevel,
Optional<DetectPropertiesSetting> serverDetectProperties
) {
if (shouldUsePhoneHome(analyticsConfigurationService, blackDuckServicesFactory.getApiDiscovery(), blackDuckServicesFactory.getBlackDuckApiClient())) {
Expand All @@ -160,7 +158,6 @@ private BlackDuckRunData createBlackDuckRunDataBasedOnPhoneHomeDecision(
blackDuckServicesFactory,
phoneHomeManager,
blackDuckConnectivityResult,
waitAtScanLevel,
serverDetectProperties
);
} catch (IntegrationException e) {
Expand All @@ -171,7 +168,7 @@ private BlackDuckRunData createBlackDuckRunDataBasedOnPhoneHomeDecision(
} else {
logger.debug("Skipping phone home due to Black Duck SCA global settings.");
}
return BlackDuckRunData.onlineNoPhoneHome(blackDuckDecision.scanMode(), blackDuckServicesFactory, blackDuckConnectivityResult, waitAtScanLevel, serverDetectProperties);
return BlackDuckRunData.onlineNoPhoneHome(blackDuckDecision.scanMode(), blackDuckServicesFactory, blackDuckConnectivityResult, serverDetectProperties);
}

private Optional<DetectPropertiesSetting> fetchDetectPropertiesFromServer(
Expand Down Expand Up @@ -210,18 +207,4 @@ private boolean shouldUsePhoneHome(AnalyticsConfigurationService analyticsConfig
return true; // Skip phone home will be applied at the library level.
}
}

private boolean shouldWaitAtScanLevel(BlackDuckConnectivityResult blackDuckConnectivityResult) {
BlackDuckVersionParser parser = new BlackDuckVersionParser();
Optional<BlackDuckVersion> blackDuckServerVersion = parser.parse(blackDuckConnectivityResult.getContactedServerVersion());
BlackDuckVersion minVersion = new BlackDuckVersion(2023, 1, 1);

boolean waitAtScanLevel = false;

if (blackDuckServerVersion.isPresent() && blackDuckServerVersion.get().isAtLeast(minVersion)) {
waitAtScanLevel = true;
}

return waitAtScanLevel;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ public class BlackDuckRunData {
private final BlackDuckServerConfig blackDuckServerConfig;
private final BlackDuckServicesFactory blackDuckServicesFactory;
private final BlackduckScanMode scanMode;
private final boolean waitAtScanLevel;
private final Optional<DetectPropertiesSetting> serverDetectProperties;
private Optional<BlackDuckVersion> blackDuckServerVersion;

Expand All @@ -25,7 +24,6 @@ private BlackDuckRunData() {
this.blackDuckServerConfig = null;
this.blackDuckServicesFactory = null;
this.scanMode = null;
this.waitAtScanLevel = false;
this.serverDetectProperties = Optional.empty();
this.blackDuckServerVersion = Optional.empty();
}
Expand All @@ -35,16 +33,14 @@ protected BlackDuckRunData(
BlackDuckConnectivityResult blackDuckConnectivityResult,
BlackDuckServicesFactory blackDuckServicesFactory,
BlackduckScanMode scanMode,
boolean waitAtScanLevel,
Optional<DetectPropertiesSetting> serverDetectProperties
) {
this.phoneHomeManager = phoneHomeManager;
this.blackDuckServerConfig = blackDuckConnectivityResult != null ? blackDuckConnectivityResult.getBlackDuckServerConfig() : null;
this.blackDuckServicesFactory = blackDuckServicesFactory;
this.scanMode = scanMode;
this.waitAtScanLevel = waitAtScanLevel;
this.serverDetectProperties = serverDetectProperties;

this.serverDetectProperties = serverDetectProperties;
determineBlackDuckServerVersion(blackDuckConnectivityResult);
}

Expand Down Expand Up @@ -73,20 +69,18 @@ public static BlackDuckRunData online(
BlackDuckServicesFactory blackDuckServicesFactory,
PhoneHomeManager phoneHomeManager,
BlackDuckConnectivityResult blackDuckConnectivityResult,
boolean waitAtScanLevel,
Optional<DetectPropertiesSetting> serverDetectProperties
) {
return new BlackDuckRunData(phoneHomeManager, blackDuckConnectivityResult, blackDuckServicesFactory, scanMode, waitAtScanLevel, serverDetectProperties);
return new BlackDuckRunData(phoneHomeManager, blackDuckConnectivityResult, blackDuckServicesFactory, scanMode, serverDetectProperties);
}

public static BlackDuckRunData onlineNoPhoneHome(
BlackduckScanMode scanMode,
BlackDuckServicesFactory blackDuckServicesFactory,
BlackDuckConnectivityResult blackDuckConnectivityResult,
boolean waitAtScanLevel,
Optional<DetectPropertiesSetting> serverDetectProperties
) {
return new BlackDuckRunData(null, blackDuckConnectivityResult, blackDuckServicesFactory, scanMode, waitAtScanLevel, serverDetectProperties);
return new BlackDuckRunData(null, blackDuckConnectivityResult, blackDuckServicesFactory, scanMode, serverDetectProperties);
}

public Boolean isNonPersistent() {
Expand All @@ -96,10 +90,6 @@ public Boolean isNonPersistent() {
public BlackduckScanMode getScanMode() {
return scanMode;
}

public boolean shouldWaitAtScanLevel() {
return waitAtScanLevel;
}

public Optional<BlackDuckVersion> getBlackDuckServerVersion() {
return blackDuckServerVersion;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -710,7 +710,7 @@ private File createProtobufHeaderFile(String type, NameVersion projectNameVersio
}
}

public void uploadBdioEntries(BlackDuckRunData blackDuckRunData, UUID bdScanId) throws IntegrationException, IOException {
public void uploadBdioEntriesForRapidMode(BlackDuckRunData blackDuckRunData, UUID bdScanId) throws IntegrationException, IOException {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for changing these names, massive w! 👍

// parse directory and upload all chunks
File bdioDirectory = directoryManager.getBdioOutputDirectory();

Expand Down Expand Up @@ -1011,7 +1011,7 @@ public void attemptToGenerateComponentLocationAnalysisIfEnabled() throws Operati
//Post actions
//End post actions

public final BdioUploadResult uploadBdioIntelligentPersistent(BlackDuckRunData blackDuckRunData, BdioResult bdioResult, Long timeout, String scassScanId) throws OperationException {
public final BdioUploadResult uploadBdioForIntelligentPersistentMode(BlackDuckRunData blackDuckRunData, BdioResult bdioResult, Long timeout, String scassScanId) throws OperationException {
return auditLog.namedPublic(
"Upload Intelligent Persistent Bdio",
() -> new IntelligentPersistentUploadOperation(
Expand All @@ -1021,8 +1021,8 @@ public final BdioUploadResult uploadBdioIntelligentPersistent(BlackDuckRunData b
);
}

public final CodeLocationWaitData calculateCodeLocationWaitData(List<WaitableCodeLocationData> codeLocationCreationDatas) throws OperationException {
return auditLog.namedInternal("Calculate Code Location Wait Data", () -> new CodeLocationWaitCalculator().calculateWaitData(codeLocationCreationDatas));
public final CodeLocationWaitData calculateCodeLocationWaitDataGivenNotificationRangeStart(List<WaitableCodeLocationData> codeLocationCreationDatas, long codeLocationsUploadStartTime) throws OperationException {
return auditLog.namedInternal("Calculate Code Location Wait Data", () -> new CodeLocationWaitCalculator().calculateWaitData(codeLocationCreationDatas, codeLocationsUploadStartTime));
}

public final void publishCodeLocationData(Set<FormattedCodeLocation> codeLocationData) throws OperationException {
Expand Down Expand Up @@ -1297,13 +1297,6 @@ public ScanBatchRunner createScanBatchRunnerFromLocalInstall(File installDirecto
});
}

public NotificationTaskRange createCodeLocationRange(BlackDuckRunData blackDuckRunData) throws OperationException {
return auditLog.namedInternal(
"Create Code Location Task Range",
() -> blackDuckRunData.getBlackDuckServicesFactory().createCodeLocationCreationService().calculateCodeLocationRange()
);
}

public SignatureScanOuputResult signatureScan(ScanBatch scanBatch, ScanBatchRunner scanBatchRunner) throws OperationException {
return auditLog.namedPublic("Execute Signature Scan CLI", "SigScan", () -> new SignatureScanOperation().performScanActions(scanBatch, scanBatchRunner));
}
Expand All @@ -1321,13 +1314,12 @@ public void publishSignatureScanReport(List<SignatureScannerReport> report) thro
}

public SignatureScannerCodeLocationResult calculateWaitableSignatureScannerCodeLocations(
NotificationTaskRange notificationTaskRange,
List<SignatureScannerReport> reports
) throws OperationException {
return auditLog.namedInternal(
"Calculate Signature Scanner Waitable Code Locations",
() -> new CalculateWaitableSignatureScanCodeLocations()
.calculateWaitableCodeLocations(notificationTaskRange, reports)
.calculateWaitableCodeLocations(reports)
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ private IacScanReport performOnlineScan(
try {
File resultsFile = operationRunner.performIacScanScan(scanTarget, iacScanExe, count);
String codeLocationName = operationRunner.createIacScanCodeLocationName(scanTarget, projectNameVersion);
String scanId = initiateScan(detectRunUuid, projectNameVersion, blackDuckRunData.getBlackDuckServicesFactory().createBdio2FileUploadService(), codeLocationName
String scanId = initiateIacScan(detectRunUuid, projectNameVersion, blackDuckRunData.getBlackDuckServicesFactory().createBdio2FileUploadService(), codeLocationName
);
operationRunner.uploadIacScanResults(blackDuckRunData, resultsFile, scanId);
return IacScanReport.SUCCESS_ONLINE(scanTarget, codeLocationName);
Expand All @@ -121,7 +121,7 @@ public IacScanReport performOfflineScan(File scanTarget, File iacScanExe, int co
//TODO- look into extracting scan initiation to another class

//TODO- this should only be necessary if we didn't already upload BDIO during DETECTORS phase
private String initiateScan(
private String initiateIacScan(
String detectRunUuid,
NameVersion projectNameVersion, Bdio2FileUploadService bdio2FileUploadService, String codeLocationNameOverride
)
Expand Down
Loading