Skip to main content

bump-mgmt-base-version

Bump the http-client-csharp base dependency version in http-client-csharp-mgmt. Updates emitter (npm) and generator (NuGet) references, rebuilds, and regenerates test projects.

Quellinformationen

Repository
Azure/azure-sdk-for-net
Letzte Quellaktivität
23. März 2026 um 02:31
Erkannte Sprache von SKILL.md
Englisch
Sterne
6.034
Forks
5.179

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
bump-mgmt-base-version
description
Bump the http-client-csharp base dependency version in http-client-csharp-mgmt. Updates emitter (npm) and generator (NuGet) references, rebuilds, and regenerates test projects.
# Skill: bump-mgmt-base-version Bump the base `http-client-csharp` dependency used by the management-plane generator (`http-client-csharp-mgmt`). This updates both the npm emitter dependency and the NuGet generator dependency, then rebuilds and regenerates test projects. ## When Invoked Trigger phrases: "bump mgmt base version", "update http-client-csharp in mgmt", "bump generator version", "update mgmt dependency". ## Instructions ### 1. Determine the target version Read the latest version of `@azure-typespec/http-client-csharp` from: ``` eng/azure-typespec-http-client-csharp-emitter-package.json ``` Look at the `dependencies["@azure-typespec/http-client-csharp"]` value. This is the **target version**. ### 2. Identify current versions Check the current versions in these two files: | File | Field | Purpose | |------|-------|---------| | `eng/packages/http-client-csharp-mgmt/package.json` | `dependencies["@azure-typespec/http-client-csharp"]` | Emitter npm dependency | | `eng/centralpackagemanagement/Directory.Generation.Packages.props` | `<AzureGeneratorVersion>` | Generator NuGet dependency (used by `Azure.Generator.Management.csproj` via `<PackageReference Include="Azure.Generator" />`) | If both already match the target version, no update is needed — inform the user and stop. ### 3. Update version references Update **both** files to the target version: 1. **`eng/packages/http-client-csharp-mgmt/package.json`**: Change the `@azure-typespec/http-client-csharp` version in `dependencies`. 2. **`eng/centralpackagemanagement/Directory.Generation.Packages.props`**: Change the `<AzureGeneratorVersion>` value. ### 4. Run npm install ```shell cd eng/packages/http-client-csharp-mgmt npm install ``` This updates `package-lock.json` to resolve the new dependency version. ### 5. Build the emitter ```shell cd eng/packages/http-client-csharp-mgmt npm run build:emitter ``` If TypeScript compilation fails, examine the errors — they likely indicate breaking API changes in the base `@azure-typespec/http-client-csharp` package. Fix the emitter source code under `eng/packages/http-client-csharp-mgmt/emitter/` accordingly. ### 6. Lint and format the emitter ```shell cd eng/packages/http-client-csharp-mgmt npm run lint npm run prettier ``` If lint or prettier checks fail, fix with: ```shell npm run lint:fix npm run prettier:fix ``` These checks are required to pass CI. Always run them after any emitter code changes. ### 7. Build the generator ```shell cd eng/packages/http-client-csharp-mgmt npm run build:generator ``` This runs `dotnet build ./generator`. The `Azure.Generator.Management` project references the `Azure.Generator` NuGet package, whose version is controlled by `AzureGeneratorVersion` in `eng/centralpackagemanagement/Directory.Generation.Packages.props`. If C# compilation fails, examine the errors — they likely indicate breaking API changes in the `Azure.Generator` package. Fix the generator source code under `eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/` accordingly. ### 8. Regenerate test projects ```shell pwsh eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1 ``` This script: - Rebuilds the emitter and generator (via `Refresh-Mgmt-Build`) - Regenerates the `Mgmt-TypeSpec` test project under `generator/TestProjects/Local/Mgmt-TypeSpec/` - Builds the regenerated test project to verify correctness If regeneration produces file changes, they must be included in the commit. ### 9. Refresh the Emitter Version Dashboard ```shell pwsh doc/GeneratorVersions/Emitter_Version_Dashboard.ps1 ``` This regenerates `doc/GeneratorVersions/Emitter_Version_Dashboard.md` so the documented dependency chain matches the updated package.json versions. The updated dashboard file must be included in the commit. ### 10. Verify - Run `git status` to see all modified files - Ensure `package.json`, `package-lock.json`, `Directory.Generation.Packages.props`, `Emitter_Version_Dashboard.md`, and any regenerated test project files are included - All changes should be committed together ## Key Files Reference | File | Role | |------|------| | `eng/azure-typespec-http-client-csharp-emitter-package.json` | Source of truth for latest base version | | `eng/packages/http-client-csharp-mgmt/package.json` | Mgmt emitter npm dependencies | | `eng/packages/http-client-csharp-mgmt/package-lock.json` | Resolved npm dependency tree | | `eng/centralpackagemanagement/Directory.Generation.Packages.props` | NuGet version properties (AzureGeneratorVersion) | | `eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Azure.Generator.Management.csproj` | Generator project referencing Azure.Generator | | `eng/packages/http-client-csharp-mgmt/eng/scripts/Generate.ps1` | Test project regeneration script | | `eng/packages/http-client-csharp-mgmt/eng/scripts/Generation.psm1` | Build and generation helper functions | | `doc/GeneratorVersions/Emitter_Version_Dashboard.ps1` | Script to regenerate the version dashboard | | `doc/GeneratorVersions/Emitter_Version_Dashboard.md` | Emitter dependency version dashboard |
Auf GitHub ansehen