Skip to content

feat: expose resolved MSVC and Windows SDK versions - #13

Merged
ArchangelX360 merged 1 commit into
mainfrom
cerisier/generate-msvc-sdk-version-info
Aug 27, 2026
Merged

ArchangelX360 merged 1 commit into
mainfrom
cerisier/generate-msvc-sdk-version-info

Conversation

@cerisier

Copy link
Copy Markdown
Member

Motivation

Consumers currently have to repeat MSVC toolset, compiler-compatibility, redistributable, Windows SDK package, and SDK include-tree versions outside the repositories that resolve them. Those copies can drift when the configured Microsoft payloads change.

Contract

The generated @msvc_runtime and @windows_sdk repositories are the authoritative source for their resolved versions. Consumers can load public Starlark constants instead of reconstructing paths or hard-coding versions.

MSVC 14.x toolset versions map to their corresponding 19.x compiler compatibility version. The repository rule validates this supported format rather than silently deriving an unknown future mapping. Redistributable and SDK include versions remain independently discovered from the extracted payloads.

Change

  • generate and export @msvc_runtime//:versions.bzl with MSVC_TOOLSET_VERSION, MSVC_COMPATIBILITY_VERSION, and VC_REDIST_VERSION;
  • generate and export @windows_sdk//:versions.bzl with WINDOWS_SDK_VERSION and WINDOWS_SDK_INCLUDE_VERSION;
  • document the public constants and their meanings;
  • add an end-to-end comparison covering all resolved values.

Tests

  • bazel test --repo_env=BAZEL_MSVC_RUNTIME_VISUAL_STUDIO_EULA=1 //:smoke_test //:resolved_versions_test from e2e/smoke
  • bazel test //:registered_msvc_runtime_extension_without_eula_test from e2e/msvc_runtime_lazy
  • bazel test //...
  • bazel run //.github/workflows:buildifier.check
  • bazel run //:gazelle -- -mode=diff

@cerisier cerisier changed the title Expose resolved MSVC and Windows SDK versions feat: expose resolved MSVC and Windows SDK versions Aug 27, 2026
@ArchangelX360
ArchangelX360 merged commit 31c58da into main Aug 27, 2026
11 of 12 checks passed
@cerisier
cerisier deleted the cerisier/generate-msvc-sdk-version-info branch August 27, 2026 10:41
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