-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Description
Problem
The provisioning \Invoke-SdkRegeneration.ps1\ script deletes \ spconfig.yaml\ from the fetched spec directory (line 175) to avoid linter rules that require packages not in the local
ode_modules. It then manually reconstructs emitter options via --option\ flags.
This is inconsistent with the mgmt \Invoke-SdkRegeneration.ps1, which keeps \ spconfig.yaml\ in place and lets \ sp compile\ read options naturally. The mgmt script only removes \package.json.
Impact
- Options set in \ spconfig.yaml\ (e.g. \�pi-version,
amespace, etc.) were silently dropped until a manual extraction workaround was added. - Any new options added to the spec's \ spconfig.yaml\ for the provisioning emitter need to be explicitly forwarded in the script — easy to miss.
Current Workaround
The script now reads all provisioning emitter options from \ spconfig.yaml\ before deleting it and forwards them as --option\ flags. This works but is fragile.
Ideal Fix
Align with the mgmt script approach: keep \ spconfig.yaml\ but strip the \linter\ section (or the \�xtends\ within it) to avoid the linter dependency issue, rather than deleting the entire file.
Related Files
- \�ng/packages/http-client-csharp-provisioning/eng/scripts/Invoke-SdkRegeneration.ps1\ (provisioning — deletes tspconfig)
- \�ng/packages/http-client-csharp-mgmt/eng/scripts/Invoke-SdkRegeneration.ps1\ (mgmt — keeps tspconfig)