Skip to content

Commit b19fc67

Browse files
authored
added framework support (#18776)
1 parent 2471ba2 commit b19fc67

File tree

991 files changed

+139920
-28
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

991 files changed

+139920
-28
lines changed

.github/workflows/openapi-generator.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,16 @@ jobs:
151151
rm -rf samples/client/petstore/csharp/generichost/net8/Petstore
152152
rm -rf samples/client/petstore/csharp/generichost/net8/SourceGeneration
153153
rm -rf samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
154+
154155
rm -rf samples/client/petstore/csharp/generichost/standard2.0/Petstore
156+
157+
rm -rf samples/client/petstore/csharp/generichost/net8/AllOf
158+
rm -rf samples/client/petstore/csharp/generichost/net8/AnyOf
159+
rm -rf samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare
160+
rm -rf samples/client/petstore/csharp/generichost/net8/FormModels
161+
rm -rf samples/client/petstore/csharp/generichost/net8/OneOf
162+
rm -rf samples/client/petstore/csharp/generichost/net8/Petstore
163+
rm -rf samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
155164
- name: Generate samples
156165
run: |
157166
bash bin/generate-samples.sh
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Samples C# .Net 4.7 Clients
2+
3+
on:
4+
push:
5+
paths:
6+
- samples/client/petstore/csharp/generichost/net4.7/**
7+
pull_request:
8+
paths:
9+
- samples/client/petstore/csharp/generichost/net4.7/**
10+
jobs:
11+
build:
12+
name: Build .Net projects
13+
runs-on: windows-2019
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
sample:
18+
- samples/client/petstore/csharp/generichost/net4.7/AllOf
19+
- samples/client/petstore/csharp/generichost/net4.7/AnyOf
20+
- samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare
21+
- samples/client/petstore/csharp/generichost/net4.7/FormModels
22+
- samples/client/petstore/csharp/generichost/net4.7/OneOf
23+
- samples/client/petstore/csharp/generichost/net4.7/Petstore
24+
- samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate
25+
steps:
26+
- uses: actions/checkout@v4
27+
- name: Build
28+
working-directory: ${{ matrix.sample }}
29+
run: dotnet build Org.OpenAPITools.sln
30+
- name: Test
31+
working-directory: ${{ matrix.sample }}
32+
run: dotnet test Org.OpenAPITools.sln

appveyor.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,17 @@ test_script:
5454
- dotnet test samples\client\petstore\csharp\generichost\net8\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
5555
- dotnet test samples\client\petstore\csharp\generichost\net8\SourceGeneration\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
5656
- dotnet test samples\client\petstore\csharp\generichost\net8\UseDateTimeForDate\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
57+
5758
- dotnet test samples\client\petstore\csharp\generichost\standard2.0\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
5859

60+
- dotnet test samples\client\petstore\csharp\generichost\net8\AllOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
61+
- dotnet test samples\client\petstore\csharp\generichost\net8\AnyOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
62+
- dotnet test samples\client\petstore\csharp\generichost\net8\AnyOfNoCompare\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
63+
- dotnet test samples\client\petstore\csharp\generichost\net8\FormModels\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
64+
- dotnet test samples\client\petstore\csharp\generichost\net8\OneOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
65+
- dotnet test samples\client\petstore\csharp\generichost\net8\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
66+
- dotnet test samples\client\petstore\csharp\generichost\net8\UseDateTimeForDate\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
67+
5968
- dotnet test samples\client\petstore\csharp\httpclient\standard2.0\Petstore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
6069

6170
- dotnet test samples\client\petstore\csharp\restsharp\net4.7\MultipleFrameworks\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/AllOf
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/allOf.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: true
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/AnyOf
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: true
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/anyOf.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: false
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/FormModels
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: true
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47
14+
skipFormModel: false
15+
inlineSchemaOptions:
16+
RESOLVE_INLINE_ENUMS: true
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/OneOf
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: true
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
9+
useDateTimeForDate: true
10+
targetFramework: net47
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# for csharp generichost
2+
generatorName: csharp
3+
outputDir: samples/client/petstore/csharp/generichost/net4.7/Petstore
4+
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
5+
library: generichost
6+
templateDir: modules/openapi-generator/src/main/resources/csharp
7+
additionalProperties:
8+
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
9+
useCompareNetObjects: true
10+
disallowAdditionalPropertiesIfNotPresent: false
11+
nullableReferenceTypes: false
12+
equatable: true
13+
targetFramework: net47

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ApiResponse`1.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ namespace {{packageName}}.{{clientPackage}}
164164
/// </summary>
165165
/// <param name="result"></param>
166166
/// <returns></returns>
167-
bool Try{{.}}({{^netStandard}}[NotNullWhen(true)]{{/netStandard}}out TType{{nrt?}} result);
167+
bool Try{{.}}({{#net60OrLater}}[NotNullWhen(true)]{{/net60OrLater}}out TType{{nrt?}} result);
168168
}
169169
{{/x-http-statuses-with-return}}
170170
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// This logic may be modified with the AsModel.mustache template
22
return Is{{vendorExtensions.x-http-status}}
33
? System.Text.Json.JsonSerializer.Deserialize<{{#isModel}}{{^containerType}}{{packageName}}.{{modelPackage}}.{{/containerType}}{{/isModel}}{{{dataType}}}>(RawContent, _jsonSerializerOptions)
4-
: {{^netStandard}}null{{/netStandard}}{{#netStandard}}default{{/netStandard}};
4+
: {{#net60OrLater}}null{{/net60OrLater}}{{^net60OrLater}}default{{/net60OrLater}};

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ using System.Runtime.CompilerServices;
103103
/// <param name="options"></param>
104104
/// <param name="result"></param>
105105
/// <returns></returns>
106-
public static bool TryDeserialize<T>(string json, JsonSerializerOptions options, {{^netStandard}}[System.Diagnostics.CodeAnalysis.NotNullWhen(true)] {{/netStandard}}out T{{#nrt}}{{^netStandard}}?{{/netStandard}}{{/nrt}} result)
106+
public static bool TryDeserialize<T>(string json, JsonSerializerOptions options, {{#net60OrLater}}[System.Diagnostics.CodeAnalysis.NotNullWhen(true)] {{/net60OrLater}}out T{{#nrt}}{{#net60OrLater}}?{{/net60OrLater}}{{/nrt}} result)
107107
{
108108
try
109109
{
@@ -125,7 +125,7 @@ using System.Runtime.CompilerServices;
125125
/// <param name="options"></param>
126126
/// <param name="result"></param>
127127
/// <returns></returns>
128-
public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOptions options, {{^netStandard}}[System.Diagnostics.CodeAnalysis.NotNullWhen(true)] {{/netStandard}}out T{{#nrt}}{{^netStandard}}?{{/netStandard}}{{/nrt}} result)
128+
public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOptions options, {{#net60OrLater}}[System.Diagnostics.CodeAnalysis.NotNullWhen(true)] {{/net60OrLater}}out T{{#nrt}}{{#net60OrLater}}?{{/net60OrLater}}{{/nrt}} result)
129129
{
130130
try
131131
{

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/RateLimitProvider`1.mustache

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,7 @@
77
using System;
88
using System.Collections.Generic;
99
using System.Linq;
10-
{{^netStandard}}
1110
using System.Threading.Channels;
12-
{{/netStandard}}
13-
{{#netStandard}}
14-
using System.Threading.Channels;
15-
{{/netStandard}}
1611

1712
namespace {{packageName}}.{{clientPackage}}
1813
{

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -606,13 +606,13 @@ namespace {{packageName}}.{{apiPackage}}
606606
httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar));
607607
{{/-first}}
608608
{{/produces}}
609-
{{^netStandard}}
609+
{{#net60OrLater}}
610610

611611
httpRequestMessageLocalVar.Method = HttpMethod.{{#lambda.titlecase}}{{#lambda.lowercase}}{{httpMethod}}{{/lambda.lowercase}}{{/lambda.titlecase}};
612-
{{/netStandard}}
613-
{{#netStandard}}
612+
{{/net60OrLater}}
613+
{{^net60OrLater}}
614614
httpRequestMessageLocalVar.Method = new HttpMethod("{{#lambda.uppercase}}{{httpMethod}}{{/lambda.uppercase}}");
615-
{{/netStandard}}
615+
{{/net60OrLater}}
616616

617617
DateTime requestedAtLocalVar = DateTime.UtcNow;
618618

@@ -747,7 +747,7 @@ namespace {{packageName}}.{{apiPackage}}
747747
/// </summary>
748748
/// <param name="result"></param>
749749
/// <returns></returns>
750-
public bool Try{{vendorExtensions.x-http-status}}({{^netStandard}}[NotNullWhen(true)]{{/netStandard}}out {{#isModel}}{{^containerType}}{{packageName}}.{{modelPackage}}.{{/containerType}}{{/isModel}}{{{dataType}}}{{#nrt}}?{{/nrt}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}} result)
750+
public bool Try{{vendorExtensions.x-http-status}}({{#net60OrLater}}[NotNullWhen(true)]{{/net60OrLater}}out {{#isModel}}{{^containerType}}{{packageName}}.{{modelPackage}}.{{/containerType}}{{/isModel}}{{{dataType}}}{{#nrt}}?{{/nrt}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}} result)
751751
{
752752
result = null;
753753

modules/openapi-generator/src/main/resources/csharp/netcore_project.mustache

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,30 @@
3232
<PackageReference Include="JsonSubTypes" Version="2.0.1" />
3333
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
3434
{{/useGenericHost}}
35-
{{#useRestSharp}}
35+
{{#useRestSharp}}
3636
<PackageReference Include="RestSharp" Version="110.2.0" />
37-
{{/useRestSharp}}
38-
{{#useGenericHost}}
37+
{{/useRestSharp}}
38+
{{#useGenericHost}}
3939
<PackageReference Include="Microsoft.Extensions.Http" Version="{{#lambda.first}}{{#netStandard}}5.0.0 {{/netStandard}}{{#net47}}7.0.0 {{/net47}}{{#net48}}7.0.0 {{/net48}}{{#net6.0}}6.0.0 {{/net6.0}}{{#net7.0}}7.0.0 {{/net7.0}}{{#net8.0}}8.0.0 {{/net8.0}}{{/lambda.first}}" />
4040
<PackageReference Include="Microsoft.Extensions.Hosting" Version="{{#lambda.first}}{{#netStandard}}5.0.0 {{/netStandard}}{{#net47}}7.0.0 {{/net47}}{{#net48}}7.0.0 {{/net48}}{{#net6.0}}6.0.1 {{/net6.0}}{{#net7.0}}7.0.1 {{/net7.0}}{{#net8.0}}8.0.0 {{/net8.0}}{{/lambda.first}}" />
41-
{{#supportsRetry}}
41+
{{#supportsRetry}}
4242
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="{{#lambda.first}}{{#netStandard}}5.0.1 {{/netStandard}}{{#net47}}7.0.0 {{/net47}}{{#net48}}7.0.0 {{/net48}}{{#net6.0}}6.0.19 {{/net6.0}}{{#net7.0}}7.0.11 {{/net7.0}}{{#net8.0}}8.0.3 {{/net8.0}}{{/lambda.first}}" />
43-
{{/supportsRetry}}
44-
{{#net80OrLater}}
43+
{{/supportsRetry}}
44+
{{#net80OrLater}}
4545
<PackageReference Include="Microsoft.Net.Http.Headers" Version="8.0.3" />
46-
{{/net80OrLater}}
47-
{{#netStandard}}
46+
{{/net80OrLater}}
47+
{{^net60OrLater}}
4848
<PackageReference Include="System.Threading.Channels" Version="8.0.0" />
49-
{{/netStandard}}
50-
{{/useGenericHost}}
51-
{{^useGenericHost}}
52-
{{#supportsRetry}}
49+
{{#net47OrLater}}
50+
<Reference Include="System.Web" />
51+
{{/net47OrLater}}
52+
{{/net60OrLater}}
53+
{{/useGenericHost}}
54+
{{^useGenericHost}}
55+
{{#supportsRetry}}
5356
<PackageReference Include="Polly" Version="{{^netStandard}}8.1.0{{/netStandard}}{{#netStandard}}8.1.0{{/netStandard}}" />
54-
{{/supportsRetry}}
55-
{{/useGenericHost}}
57+
{{/supportsRetry}}
58+
{{/useGenericHost}}
5659
{{#validatable}}
5760
{{^net60OrLater}}
5861
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />

0 commit comments

Comments
 (0)