Skip to content

Feature: Introduce an OpenAPI-based HTTP client code generator with Kiota#9

Merged
Lamparter merged 20 commits intomainfrom
kiota-generator
Mar 14, 2026
Merged

Feature: Introduce an OpenAPI-based HTTP client code generator with Kiota#9
Lamparter merged 20 commits intomainfrom
kiota-generator

Conversation

@Lamparter
Copy link
Owner

@Lamparter Lamparter added this to the OpenAPI generator milestone Mar 14, 2026
@Lamparter Lamparter marked this pull request as ready for review March 14, 2026 18:10
@Lamparter
Copy link
Owner Author

Must add props file that enables the following:

  • Required dependencies
	<ItemGroup>
		<PackageReference Include="Microsoft.Kiota.Authentication.Azure" Version="1.21.2" />
		<PackageReference Include="Microsoft.Kiota.Bundle" Version="1.21.2" />
	</ItemGroup>
  • Lang version must be 7.3+
  • TFM must be "netstandard2.0", "netstandard2.1", "net462", or "net8.0" or later
  • Warns if Nullable is disabled

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new Kiota feature project and updates the build/test wiring to use it (replacing the prior Swagger-based generator), along with supporting helper utilities and extensions.

Changes:

  • Replace the previous Swagger Kiota generator with a dedicated Riverside.CompilerPlatform.Features.Kiota project and generator implementation.
  • Add shared helper utilities (tool installation, temp directories) and analyzer-config option parsing extensions used by generators.
  • Update the solution and CI matrix to build Kiota instead of Swagger, and update the features test project to reference the new analyzer and input spec.

Reviewed changes

Copilot reviewed 14 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Riverside.CompilerPlatform.Features.Tests/Riverside.CompilerPlatform.Features.Tests.csproj Switch analyzer reference from Swagger to Kiota; update additional OpenAPI file and analyzer references.
src/roslyn/Riverside.CompilerPlatform.SourceGenerators/IncrementalGenerator.cs Switch diagnostic reporting to use the Diagnostic.Report(...) helper.
src/roslyn/Riverside.CompilerPlatform.Extensions/Helpers/SanitizationHelpers.cs Remove the [NotMyCode] annotation.
src/roslyn/Riverside.CompilerPlatform.Extensions/Helpers/ProcessHelpers.cs Minor signature formatting + add RunNETCoreCliAsync helper for dotnet commands.
src/roslyn/Riverside.CompilerPlatform.Extensions/Helpers/NETCoreToolHelpers.cs New helper for installing/updating dotnet tools into a tool-path directory.
src/roslyn/Riverside.CompilerPlatform.Extensions/Helpers/DirectoryHelpers.cs New directory utility helpers (temp dir creation + best-effort delete).
src/roslyn/Riverside.CompilerPlatform.Extensions/Extensions/AnalyzerConfigOptionsExtensions.cs New typed accessors for AnalyzerConfigOptions values (bool/enum/pipe-delimited arrays).
src/features/Riverside.CompilerPlatform.Features.Swagger/KiotaGenerator.cs Remove old Swagger-scoped Kiota generator implementation.
src/features/Riverside.CompilerPlatform.Features.Kiota/Riverside.CompilerPlatform.Features.Kiota.csproj New Kiota feature project definition.
src/features/Riverside.CompilerPlatform.Features.Kiota/KiotaGenerator.cs New Kiota generator that installs/runs Kiota and emits generated sources.
src/features/Riverside.CompilerPlatform.Features.Kiota/KiotaEngine.Methods.cs Update command building for Kiota CLI and improve argument escaping.
src/features/Riverside.CompilerPlatform.Features.Kiota/KiotaEngine.Enums.cs Move enums into Kiota feature namespace.
src/features/Riverside.CompilerPlatform.Features.Kiota/KiotaEngine.cs Adjust constructor/required-member handling and add namespace parameter.
CompilerPlatform.slnx Replace Swagger project reference with Kiota project reference.
.github/workflows/ci.yml Update CI matrix to build Kiota instead of Swagger.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@Lamparter
Copy link
Owner Author

IT WORKS YAY

@Lamparter Lamparter merged commit 70fec71 into main Mar 14, 2026
28 checks passed
@Lamparter Lamparter deleted the kiota-generator branch March 14, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Introduce an OpenAPI based HTTP client generator

2 participants