Skip to content

[release/9.0.1xx] Workloads: Support VS component IDs #44198

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: release/9.0.1xx
Choose a base branch
from

Conversation

joeloff
Copy link
Member

@joeloff joeloff commented Oct 15, 2024

Description

Visual Studio publishes a component catalog for extension developers. .NET option workloads do not currently follow the naming convention.

  • Refactored the logic for generating safe IDs into the WorkloadId struct to ensure a single source of truth.
  • ShowMissingWorkloads task will set VisualStudioComponentId to use the new component prefix. 'VisualStudioComponentIds` will include the old and new component IDs
  • Added wasm-tools-net8 to the set of known workload IDs.

Testing

Additional unit tests to verify the changes to WorkloadId. Previous changes for dotnet workload list continue to return the expected results. Will likely require additional validation once we have a build with all the workload changes and the CLI with this change inserted into the same VS.

Risk

Low - if WASM/Maui does not switch to using the new workload IDs it may degrade the IPA experience.

@joeloff joeloff requested a review from a team October 15, 2024 19:02
@ghost ghost added Area-Workloads untriaged Request triage from a team member labels Oct 15, 2024
@joeloff joeloff added Servicing-consider and removed untriaged Request triage from a team member Area-Workloads labels Oct 15, 2024
@joeloff joeloff requested a review from drewnoakes October 15, 2024 19:03
@joeloff
Copy link
Member Author

joeloff commented Oct 15, 2024

@dsplaisted I modified the GetValuesCommand. For missing workloads, we can have metadata values that include a ";". If we don't escape that, the WriteLinesToFile task ends up writing two lines instead of just one:

microsoft-net-sdk-missingtestworkload   Microsoft.NET.Component.sdk.missingtestworkload microsoft.net.sdk.missingtestworkload
Microsoft.NET.Component.sdk.missingtestworkload

I made this a configurable option in case turning it on by default impacted other tests. Seemed like the less intrusive option

Copy link
Member

@drewnoakes drewnoakes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM though I can't see all the consequences of this change.

@joeloff
Copy link
Member Author

joeloff commented Oct 16, 2024

LGTM though I can't see all the consequences of this change.

Thanks, I'll be doing some testing on this build and setting up a project that injects additional, non-existing workloads to see how VS responds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants