Skip to content

Commit 8318a16

Browse files
Fix codegen
1 parent 1eadf33 commit 8318a16

File tree

3 files changed

+12
-22
lines changed

3 files changed

+12
-22
lines changed

RestClient.Net.OpenApiGenerator.Cli/Program.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,7 @@ await response.Content.ReadAsStringAsync(ct).ConfigureAwait(false),
191191
@namespace: config.Namespace,
192192
className: config.ClassName,
193193
outputPath: config.OutputPath,
194-
baseUrlOverride: config.BaseUrl,
195-
versionOverride: config.Version
194+
baseUrlOverride: config.BaseUrl
196195
);
197196

198197
Console.WriteLine(

RestClient.Net.OpenApiGenerator/OpenApiCodeGenerator.cs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.OpenApi.Readers;
2+
using Microsoft.OpenApi.Validations;
23
using ErrorUrl = Outcome.Result<(string, string), string>.Error<(string, string), string>;
34
using OkUrl = Outcome.Result<(string, string), string>.Ok<(string, string), string>;
45

@@ -13,34 +14,24 @@ public static class OpenApiCodeGenerator
1314
/// <param name="className">The class name for extension methods.</param>
1415
/// <param name="outputPath">The directory path where generated files will be saved.</param>
1516
/// <param name="baseUrlOverride">Optional base URL override. Use this when the OpenAPI spec has a relative server URL.</param>
16-
/// <param name="versionOverride">Optional OpenAPI version override (e.g., "3.0.2"). Use this when the spec declares the wrong version.</param>
1717
/// <returns>The generated code result.</returns>
1818
#pragma warning disable CA1054
1919
public static GeneratorResult Generate(
2020
string openApiContent,
2121
string @namespace,
2222
string className,
2323
string outputPath,
24-
string? baseUrlOverride = null,
25-
string? versionOverride = null
24+
string? baseUrlOverride = null
2625
)
2726
#pragma warning restore CA1054
2827
{
29-
// Apply version override if specified
30-
if (!string.IsNullOrEmpty(versionOverride))
31-
{
32-
#pragma warning disable SYSLIB1045
33-
openApiContent = System.Text.RegularExpressions.Regex.Replace(
34-
openApiContent,
35-
@"^openapi:\s*[\d\.]+",
36-
$"openapi: {versionOverride}",
37-
System.Text.RegularExpressions.RegexOptions.Multiline
38-
);
39-
#pragma warning restore SYSLIB1045
40-
}
41-
42-
var reader = new OpenApiStringReader();
43-
var document = reader.Read(openApiContent, out var diagnostic);
28+
var document = new OpenApiStringReader(
29+
new OpenApiReaderSettings
30+
{
31+
ReferenceResolution = ReferenceResolutionSetting.ResolveLocalReferences,
32+
RuleSet = ValidationRuleSet.GetDefaultRuleSet(),
33+
}
34+
).Read(openApiContent, out var diagnostic);
4435

4536
if (diagnostic.Errors.Count > 0)
4637
{

Samples/RestClient.OpenApiGenerator.Sample.JSONPlaceholder/RestClient.OpenApiGenerator.Sample.JSONPlaceholder.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.0" />
1010
<PackageReference Include="Urls" Version="1.0.0" />
1111
</ItemGroup>
12-
<Target Name="GenerateOpenApiCode" BeforeTargets="BeforeBuild">
13-
<Exec Command="dotnet run --project $(MSBuildThisFileDirectory)../../RestClient.Net.OpenApiGenerator.Cli/RestClient.Net.OpenApiGenerator.Cli.csproj -- -u $(MSBuildThisFileDirectory)../RestClient.OpenApiGenerator.Sample/jsonplaceholder-openapi.json -o $(MSBuildThisFileDirectory)Generated -n JSONPlaceholder.Generated -c JSONPlaceholderApiExtensions -b https://jsonplaceholder.typicode.com" />
12+
<Target Name="GenerateOpenApiCode" BeforeTargets="CoreCompile" DependsOnTargets="ResolveProjectReferences">
13+
<Exec Command="dotnet $(MSBuildThisFileDirectory)../../RestClient.Net.OpenApiGenerator.Cli/bin/$(Configuration)/net9.0/RestClient.Net.OpenApiGenerator.Cli.dll -u $(MSBuildThisFileDirectory)../RestClient.OpenApiGenerator.Sample/jsonplaceholder-openapi.json -o $(MSBuildThisFileDirectory)Generated -n JSONPlaceholder.Generated -c JSONPlaceholderApiExtensions -b https://jsonplaceholder.typicode.com" />
1414
</Target>
1515
</Project>

0 commit comments

Comments
 (0)