You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I should be able to just run cargo build and have an OSS build of the CLI, independent of the fact that I have a vscode-distro folder as a sibling of vscode.
After mixing in distro, no other component in our build infrastructure should ever reach into the quality folder.
If there is a reason for the Insider CLI (eg.) to know specific details about the stable and exploration qualities, this should be information contained in Insider's product.json itself, not done via some build magic which reaches out to other qualities product.json files.
There should be zero build components reaching out to build/azure-pipelines. Only Azure Pipelines should reach in there.
The nice thing about having build.rs look for vscode distro, is that it's then easy to locally build a CLI that supports tunnel access, which requires quality information from distros to function.
If there is a reason for the Insider CLI (eg.) to know specific details about the stable and exploration qualities, this should be information contained in Insider's product.json itself
This is currently necessary because, for example, the "stable" build of the CLI is able to launch Insiders servers when connected to from insiders.vscode.dev or an Insiders quality on desktop. Likewise, in its 'redirection' logic, the CLI can be configured to open a chosen quality e.g. ./code --quality [stable|insiders|exploration] .. You could argue this shouldn't be the case, but while they are, then we either need to pull this information from all qualities or duplicate all these things in each product.json--and make sure to keep them in sync!
I didn't/don't know of a reason why the build shouldn't be able to know about qualities other than the one currently being built, so the former option seemed the better choice.
Activity
connor4312 commentedon Mar 30, 2023
The nice thing about having build.rs look for vscode distro, is that it's then easy to locally build a CLI that supports tunnel access, which requires quality information from distros to function.
This is currently necessary because, for example, the "stable" build of the CLI is able to launch Insiders servers when connected to from insiders.vscode.dev or an Insiders quality on desktop. Likewise, in its 'redirection' logic, the CLI can be configured to open a chosen quality
e.g. ./code --quality [stable|insiders|exploration] .. You could argue this shouldn't be the case, but while they are, then we either need to pull this information from all qualities or duplicate all these things in each product.json--and make sure to keep them in sync!vscode/cli/src/constants.rs
Lines 85 to 103 in d4d0d2a
I didn't/don't know of a reason why the build shouldn't be able to know about qualities other than the one currently being built, so the former option seemed the better choice.
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build
cli: cleanup build (#190213)