feat(wrapper-generator): commit v1.0 wrapper module sources under src… - #3733
Open
Joywambui-maina wants to merge 2 commits into
Open
feat(wrapper-generator): commit v1.0 wrapper module sources under src…#3733Joywambui-maina wants to merge 2 commits into
Joywambui-maina wants to merge 2 commits into
Conversation
Joywambui-maina
requested a review
from Ramses Sanchez-Hernandez (ramsessanchez)
August 20, 2026 04:33
…e}/wrapper
All 38 modules' Kiota clients and generated cmdlets are committed - 11,719
cmdlet files, 9,051 public names - so a clean checkout builds with only the
.NET SDK. The API version nests under wrapper/ because AutoRest clears
src/{Module}/{version} on regeneration; both projects target netstandard2.0
so one dll path serves Core and Desktop. DirectoryObjects no longer
double-declares publicKeyInfrastructure. Gates and docs re-measured against
this corpus: parity 9,548 of 10,385 joinable, omission oracle 0 failures.
Joywambui-maina
force-pushed
the
feat/wrapper-modules-src-layout
branch
from
August 21, 2026 03:57
c1e051b to
c450ffc
Compare
Joywambui-maina
changed the base branch from
feat/bind-request-body-properties
to
feat/wrapper-operation-shapes
August 21, 2026 03:57
…cation binding Manifests now declare RequiredModules on Microsoft.Graph.Authentication (minimum read from its csproj) and packages no longer embed the Authentication assemblies: a module-local copy at a different version splits the GraphSession static under Windows PowerShell's loader, reporting NoGraphSession while connected. ModuleVersion now equals the package version - the hard-coded placeholder made every versioned-folder install refuse to import. Proven by marker-client probes; package gate passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #3705 — the committable layout under
src/{Module}/and the target-framework decision.Changes proposed in this pull request
src/{Module}/wrapper/{ApiVersion}/, so a clean checkout builds them with only the .NET SDK — kiota is needed to regenerate, never to compile.wrapper/, not above it. AutoRest owns src/{Module}/{ApiVersion}/and runs withclear-output-folder, so wrapper source placed there is deleted whenever the AutoRest modules regenerate — observed: generating Mail removed its wrapper tree.src/{Module}/` itself is never cleared.netstandard2.0for both projects instead ofnet10.0. The compatibility contract comes from the module every wrapper references — src/Authentication/Authentication/Microsoft.Graph.Authentication.psd1declaresPowerShellVersion 5.1andCompatiblePSEditions Core, Desktop` — and a manifest binds one un-conditioned dll path, so a single framework must satisfy both editions..gitignore. Kiota derives directory names from Graph URL paths, so segments likePublish/,Log/andBackupRestore/collided with the existing Visual Studio rules and silently dropped 174 real source files.kiota-lock.json's spec path relative to its output folder. It was absolute and machine-local, so every clone differed.DirectoryObjectsclaimingdirectory.publicKeyInfrastructureRoot. The mapping gave the family to bothDirectoryObjectsandIdentity.DirectoryManagement, emitting 11 identical public cmdlets from two modules; the published-command inventory assigns it toIdentity.DirectoryManagementalone.Test-BodyBindingCoverage.ps1andCompare-WrapperOperationInventory.ps1at the committed corpus, and replace the inventory's newest-write-time generator stamp with a SHA-256 over the generator's sources, embedded data and project file.docs/WrapperCmdlets-V1.0.csvand-Summary.csvas the reviewable inventory.How to review this
34,443 files, 34,427 of them generated. Read
docs/WrapperCmdlets-V1.0.csv, not the tree — one row per emitted cmdlet with its module, verb, noun and request path, plus per-module totals in the summary. The 16 hand-written files are the whole reviewable surface:.gitignore,config/ModulesMapping.jsonc, the twoopenApiDocs*re-slices, six scripts, twocsproj templates,
Program.cs, and two docs.