AST-168518 Additional SCA Package Manager and Publish Plugin Version - #269
AST-168518 Additional SCA Package Manager and Publish Plugin Version#269cx-anand-nandeshwar wants to merge 18 commits into
Conversation
…chitectural cleanup This commit implements comprehensive refactoring to enable plugin version telemetry: Core changes: - Added agent name + plugin version stamping in CxWrapperFactory to report "Eclipse_<version>" in all API calls - Created common-lib/wrapper/CxWrapperFactory with version reading from OSGi Bundle metadata - Created WrapperProvider facade for common-lib (project/auth/tenant operations) - Created ScannerWrapperProvider in devassist-lib (scanner-specific operations, not exported) - Moved CxWrapperFactory from devassist-lib/factory to common-lib/wrapper (shared location) Refactoring across all wrapper consumers: - DataProvider: removed hand-built CxWrapper/CxConfig, uses WrapperProvider for all operations - Authenticator: centralized via WrapperProvider for test-connection credential validation - TenantSettingsProvider: uses WrapperProvider for MCP feature-flag checks - All 5 scanner services (Asca/OSS/Container/IaC/Secrets): inject ScannerWrapperProvider field Architectural improvements: - Eliminated duplicate wrapper-building logic across 9 files - Encapsulated scanner operations in devassist-lib (not exported from common-lib) - Established clear inversion-of-control pattern with injected provider instances - Added comprehensive unit tests (CxWrapperFactoryTest, WrapperProviderTest) Build & test verification: - Full reactor compile: SUCCESS - All 64 tests pass (58 DataProvider + 2 new factory tests + 4 new provider tests) - Java 17 JDT settings (consistent with Tycho build target) - Cleaned up dead comment blocks referencing deleted factory path Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Updated dependency version to match the latest stable release. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…g_mgr' into feature/anand_sca_plugin_version # Conflicts: # devassist-lib/src/com/checkmarx/eclipse/devassist/utils/DevAssistConstants.java
…n' into feature/anand_sca_plugin_version # Conflicts: # devassist-lib/src/com/checkmarx/eclipse/devassist/scanners/containers/ContainerScannerService.java # devassist-lib/src/com/checkmarx/eclipse/devassist/scanners/oss/OssScannerService.java
- Added plugin version with expected format - Resolved review comments for #265
Original alert (resolved)Security Policy Alert: Actions Policy ViolationThis workflow run has been blocked by StepSecurity's actions policy. Disallowed Actions:
To fix this issue, please modify the workflow to use only allowed actions. Contact your organization administrator to request changes to the allowed actions list if needed. For more information, see StepSecurity's Actions Policy documentation. |
Add a help page link, reposition the CLI help link and Connect/Logout buttons for correct layout ordering and spacing, and require a Yes/Cancel confirmation before logging out with a success message shown afterward.
Persist the connected state and success message across page reopens, lock/unlock the API key field and Connect/Logout buttons based on connection state, add a logout confirmation dialog, and focus the API key field on open.
Introduce Preferences.isAuthenticated() as the single source of truth for login state, and route every existing "API key non-blank" check through it instead, so a future auth method (e.g. OAuth) only needs to set/clear the same flag. Logout now only clears the validated flag and no longer wipes the stored API key, which stays visible/editable in the preferences page.
Security Policy Alert: Secret Policy ViolationThis workflow run has been blocked by StepSecurity's secrets policy because it accesses secrets and the workflow file differs from the default branch. Secret references detected:
To approve this workflow, please add the Note: The label must be added by someone other than the PR author (cx-anand-nandeshwar) or automation bots to ensure proper security review. After the label is added, you can re-run the blocked workflow to proceed. This workflow will be automatically approved once merged into the default branch. For more information, see StepSecurity's Secret Exfiltration Policy documentation. |
cx-atish-jadhav
left a comment
There was a problem hiding this comment.
Changes for SCA package manager validated all OK
Refactor MCP uninstall to use the same handler-based approach as install: - New IMcpUninstallHandler interface for logout page to trigger uninstall - New IMcpUninstallCallback with onSuccess() / onNotFound() / onFailure() - McpInstallService.uninstallFromUi() mirrors installFromUi() pattern - PreferencesPage.uninstallMCP() now uses handler instead of reflection - Register handler in Preferences alongside install handler - Enables bidirectional MCP lifecycle (install on login, uninstall on logout) with symmetric callback-based result reporting for both operations
- uninstallFromUi() now marshals callback back to UI thread via Display.asyncExec() so callback execution happens on the main thread (matches install pattern) - Add explicit logging showing uninstall was triggered - Change callback error logging from warning to error level - Add checkmark/X symbols to clearly show success vs failure in logs - This fixes the issue where uninstall callback was being called on background thread without proper UI thread marshalling
…osed SWT controls
By submitting a PR to this repository, you agree to the terms within the Checkmarx Code of Conduct. Please see the contributing guidelines for how to create and submit a high-quality PR for this repo.
Description
connection state.
References
Testing
Checklist