Skip to content

SLVSCODE-1655 Remove client-side on-demand download for C++ and C##1003

Merged
damien-urruty-sonarsource merged 1 commit intomasterfrom
feature/nq/SLVSCODE-1655-remove-cfam-csharp
Apr 15, 2026
Merged

SLVSCODE-1655 Remove client-side on-demand download for C++ and C##1003
damien-urruty-sonarsource merged 1 commit intomasterfrom
feature/nq/SLVSCODE-1655-remove-cfam-csharp

Conversation

@nquinquenel
Copy link
Copy Markdown
Member

No description provided.

@hashicorp-vault-sonar-prod
Copy link
Copy Markdown

hashicorp-vault-sonar-prod Bot commented Mar 26, 2026

SLVSCODE-1655

@damien-urruty-sonarsource damien-urruty-sonarsource force-pushed the feature/nq/SLVSCODE-1655-remove-cfam-csharp branch from 6be42b8 to 078875e Compare March 31, 2026 18:10
@sonarqube-next
Copy link
Copy Markdown

@damien-urruty-sonarsource damien-urruty-sonarsource force-pushed the feature/nq/SLVSCODE-1655-remove-cfam-csharp branch 4 times, most recently from 78ccdac to 232cece Compare April 14, 2026 20:14
@damien-urruty-sonarsource damien-urruty-sonarsource force-pushed the feature/nq/SLVSCODE-1655-remove-cfam-csharp branch from 232cece to 72507cc Compare April 15, 2026 08:45
@sonarqube-next
Copy link
Copy Markdown

@damien-urruty-sonarsource damien-urruty-sonarsource marked this pull request as ready for review April 15, 2026 08:54
@sonar-review-alpha
Copy link
Copy Markdown

Summary

What changed

This PR removes client-side on-demand downloads for C/C++ (CFamily) and C# (OmniSharp) analyzers. Previously, when a user needed these analyzers, they would be downloaded at runtime with user prompts and progress dialogs. Now these analyzers must be pre-bundled in the extension or managed differently.

Key removals

  • omnisharpDownload.mjs: Entire module for downloading OmniSharp distributions across platforms — removed from all build scripts
  • src/cfamily/ondemand.ts: On-demand download logic for CFamily analyzer, including signature verification and cleanup routines
  • Tests: Removed test suite for on-demand analyzer lifecycle (ondemand.test.ts)
  • Build configuration: Removed OMNISHARP_VERSION constant and all calls to download functions from build scripts (common.mjs, package.mjs, package-all-microsoft.mjs, package-all-ovsx.mjs)
  • Language server integration: Removed CFamily jar injection from runtime (maybeAddCFamilyJar call), C# path configuration, and OmniSharp directory configuration

Structural changes

  • languageServerCommand() is now synchronous instead of async (no longer waits for CFamily downloads)
  • Language server version bumped from 5.1.0.78319 → 5.2.0.78336 (likely includes analyzer support changes)

What reviewers should know

For reviewers

Start with: The extension initialization changes (src/extension.ts and src/lsp/server.ts) to understand how C# and C++ analyzers are now configured. The removal of omnisharpDirectory, csharpOssPath, and csharpEnterprisePath configs shows these no longer need runtime configuration.

Watch for:

  • Verify that the language server version bump (5.2.0) actually includes pre-bundled C/C++ and C# analyzers — the build changes assume analyzers are included elsewhere
  • Build scripts for Microsoft and OpenVSX marketplaces both lose OmniSharp downloads — confirm this doesn't create different VSIX packages than intended
  • The maybeAddCFamilyJar() removal means the extension no longer shows progress dialogs for CFamily downloads — confirm this UX change is acceptable

Non-obvious decisions:

  • Build scripts no longer distinguish between Microsoft (with OmniSharp) and OpenVSX (without) packages in code — they're now treated identically. Comments about this distinction have been removed.
  • Cleanup functions (cleanOmnisharpDir) are removed, so the extension won't garbage-collect old analyzer versions anymore

Testing implications: The old tests verified download and cleanup logic — these are gone. Ensure there are new tests (if needed) covering the new analyzer delivery mechanism.


  • Generate Walkthrough
  • Generate Diagram

🗣️ Give feedback

@damien-urruty-sonarsource damien-urruty-sonarsource merged commit 579502c into master Apr 15, 2026
11 of 12 checks passed
@damien-urruty-sonarsource damien-urruty-sonarsource deleted the feature/nq/SLVSCODE-1655-remove-cfam-csharp branch April 15, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants