Skip to content

Conversation

compnerd
Copy link
Member

This is a surprising interaction between variable types. Variables set at the command line are set as string types. The variables in the bundle are numeric (either 1 or 0 to match the semantics of check boxes). The original install condition
(InstallCondition="OptionsInstall.*" would evaluate the condition as a string, where any value would evaluate as true. To force a comparison, where Burn will coerce values more like expectations, perform an explicit equality check.

This is a surprising interaction between variable types. Variables set
at the command line are set as string types. The variables in the
bundle are numeric (either `1` or `0` to match the semantics of check
boxes). The original install condition
(`InstallCondition="OptionsInstall.*"` would evaluate the condition as a
string, where _any_ value would evaluate as `true`. To force a
comparison, where Burn will coerce values more like expectations,
perform an explicit equality check.
@compnerd
Copy link
Member Author

Tested at https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/5422/ ; ran the installer locally and verified that .\installer.exe /quiet OptionsInstallIde=0 did not install sourcekit-lsp.exe.

@compnerd compnerd requested review from etcwilde and hyp August 15, 2024 16:15
@compnerd compnerd merged commit c31c320 into swiftlang:main Aug 15, 2024
@compnerd compnerd deleted the cli-options branch August 15, 2024 17:33
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