Skip to content

Commit 0002f8c

Browse files
ReallyLiriliriID
andauthored
Support net8 in aspnetcore (#19051)
* Support net8 in aspnetcore * gen * typo * more * default swashbuckle * gen --------- Co-authored-by: Liri S <liri@ownid.com>
1 parent c8587bb commit 0002f8c

File tree

264 files changed

+26959
-232
lines changed

Some content is hidden

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

264 files changed

+26959
-232
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Samples C# .Net 8 Server
2+
3+
on:
4+
push:
5+
paths:
6+
- samples/server/petstore/aspnetcore-8.0/**
7+
- samples/server/petstore/aspnetcore-8.0-*/**
8+
pull_request:
9+
paths:
10+
- samples/server/petstore/aspnetcore-8.0/**
11+
- samples/server/petstore/aspnetcore-8.0-*/**
12+
jobs:
13+
build:
14+
name: Build .Net 8 servers
15+
runs-on: ubuntu-latest
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
sample:
20+
- samples/server/petstore/aspnetcore-8.0
21+
- samples/server/petstore/aspnetcore-8.0-NewtonsoftFalse
22+
- samples/server/petstore/aspnetcore-8.0-nullableReferenceTypes
23+
- samples/server/petstore/aspnetcore-8.0-pocoModels
24+
- samples/server/petstore/aspnetcore-8.0-project4Models
25+
- samples/server/petstore/aspnetcore-8.0-useSwashBuckle
26+
steps:
27+
- uses: actions/checkout@v4
28+
- uses: actions/setup-dotnet@v4.0.0
29+
with:
30+
dotnet-version: '8.0.x'
31+
- name: Build
32+
working-directory: ${{ matrix.sample }}
33+
run: dotnet build Org.OpenAPITools.sln
34+
- name: Test
35+
working-directory: ${{ matrix.sample }}
36+
run: dotnet test Org.OpenAPITools.sln
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0-NewtonsoftFalse
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
9+
useNewtonsoft: false
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0-nullableReferenceTypes
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
9+
nullableReferenceTypes: true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0-pocoModels
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
9+
pocoModels: true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0-project4Models
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
9+
useSeparateModelProject: true
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0-useSwashBuckle
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'
9+
useSwashBuckle: false
10+
buildTarget: library
11+
isLibrary: true

bin/configs/aspnetcore-8.0.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
generatorName: aspnetcore
2+
outputDir: samples/server/petstore/aspnetcore-8.0
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/aspnetcore/petstore.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0
5+
additionalProperties:
6+
packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}'
7+
aspnetCoreVersion: "8.0"
8+
userSecretsGuid: 'cb87e868-8646-48ef-9bb6-344b537d0d37'

docs/generators/aspnetcore.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
1818

1919
| Option | Description | Values | Default |
2020
| ------ | ----------- | ------ | ------- |
21-
|aspnetCoreVersion|ASP.NET Core version: 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)|<dl><dt>**2.0**</dt><dd>ASP.NET Core 2.0</dd><dt>**2.1**</dt><dd>ASP.NET Core 2.1</dd><dt>**2.2**</dt><dd>ASP.NET Core 2.2</dd><dt>**3.0**</dt><dd>ASP.NET Core 3.0</dd><dt>**3.1**</dt><dd>ASP.NET Core 3.1</dd><dt>**5.0**</dt><dd>ASP.NET Core 5.0</dd><dt>**6.0**</dt><dd>ASP.NET Core 6.0</dd></dl>|3.1|
21+
|aspnetCoreVersion|ASP.NET Core version: 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)|<dl><dt>**2.0**</dt><dd>ASP.NET Core 2.0</dd><dt>**2.1**</dt><dd>ASP.NET Core 2.1</dd><dt>**2.2**</dt><dd>ASP.NET Core 2.2</dd><dt>**3.0**</dt><dd>ASP.NET Core 3.0</dd><dt>**3.1**</dt><dd>ASP.NET Core 3.1</dd><dt>**5.0**</dt><dd>ASP.NET Core 5.0</dd><dt>**6.0**</dt><dd>ASP.NET Core 6.0</dd><dt>**7.0**</dt><dd>ASP.NET Core 7.0</dd><dt>**8.0**</dt><dd>ASP.NET Core 8.0</dd></dl>|8.0|
2222
|buildTarget|Target to build an application or library|<dl><dt>**program**</dt><dd>Generate code for a standalone server</dd><dt>**library**</dt><dd>Generate code for a server abstract class library</dd></dl>|program|
2323
|classModifier|Class Modifier for controller classes: Empty string or abstract.| ||
2424
|compatibilityVersion|ASP.Net Core CompatibilityVersion| |Version_2_2|
@@ -45,7 +45,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
4545
|returnICollection|Return ICollection&lt;T&gt; instead of the concrete type.| |false|
4646
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
4747
|sourceFolder|source folder for generated code| |src|
48-
|swashbuckleVersion|Swashbuckle version: 3.0.0 (deprecated), 4.0.0 (deprecated), 5.0.0 (deprecated), 6.4.0|<dl><dt>**3.0.0**</dt><dd>Swashbuckle 3.0.0</dd><dt>**4.0.0**</dt><dd>Swashbuckle 4.0.0</dd><dt>**5.0.0**</dt><dd>Swashbuckle 5.0.0</dd><dt>**6.4.0**</dt><dd>Swashbuckle 6.4.0</dd></dl>|3.0.0|
48+
|swashbuckleVersion|Swashbuckle version: 3.0.0 (deprecated), 4.0.0 (deprecated), 5.0.0 (deprecated), 6.4.0|<dl><dt>**3.0.0**</dt><dd>Swashbuckle 3.0.0</dd><dt>**4.0.0**</dt><dd>Swashbuckle 4.0.0</dd><dt>**5.0.0**</dt><dd>Swashbuckle 5.0.0</dd><dt>**6.4.0**</dt><dd>Swashbuckle 6.4.0</dd></dl>|6.4.0|
4949
|useCollection|Deserialize array types to Collection&lt;T&gt; instead of List&lt;T&gt;.| |false|
5050
|useDateTimeForDate|Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only)| |false|
5151
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetServerCodegen.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,17 @@ public AspNetServerCodegen() {
186186
aspnetCoreVersion.addEnum("3.1", "ASP.NET Core 3.1");
187187
aspnetCoreVersion.addEnum("5.0", "ASP.NET Core 5.0");
188188
aspnetCoreVersion.addEnum("6.0", "ASP.NET Core 6.0");
189-
aspnetCoreVersion.setDefault("3.1");
189+
aspnetCoreVersion.addEnum("7.0", "ASP.NET Core 7.0");
190+
aspnetCoreVersion.addEnum("8.0", "ASP.NET Core 8.0");
191+
aspnetCoreVersion.setDefault("8.0");
190192
aspnetCoreVersion.setOptValue(aspnetCoreVersion.getDefault());
191193
cliOptions.add(aspnetCoreVersion);
192194

193195
swashbuckleVersion.addEnum("3.0.0", "Swashbuckle 3.0.0");
194196
swashbuckleVersion.addEnum("4.0.0", "Swashbuckle 4.0.0");
195197
swashbuckleVersion.addEnum("5.0.0", "Swashbuckle 5.0.0");
196198
swashbuckleVersion.addEnum("6.4.0", "Swashbuckle 6.4.0");
197-
swashbuckleVersion.setDefault("3.0.0");
199+
swashbuckleVersion.setDefault("6.4.0");
198200
swashbuckleVersion.setOptValue(swashbuckleVersion.getDefault());
199201
cliOptions.add(swashbuckleVersion);
200202

@@ -427,7 +429,7 @@ public void processOpts() {
427429
supportingFiles.add(new SupportingFile("typeConverter.mustache", packageFolder + File.separator + "Converters", "CustomEnumConverter.cs"));
428430
}
429431

430-
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0") || aspnetCoreVersion.getOptValue().startsWith("6.")) {
432+
if (!aspnetCoreVersion.getOptValue().startsWith("2.")) {
431433
supportingFiles.add(new SupportingFile("OpenApi" + File.separator + "TypeExtensions.mustache", packageFolder + File.separator + "OpenApi", "TypeExtensions.cs"));
432434
}
433435

@@ -681,7 +683,7 @@ private void setBuildTarget() {
681683
private void setAspnetCoreVersion(String packageFolder) {
682684
setCliOption(aspnetCoreVersion);
683685

684-
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0") || aspnetCoreVersion.getOptValue().startsWith("6.")) {
686+
if (!aspnetCoreVersion.getOptValue().startsWith("2.")) {
685687
compatibilityVersion = null;
686688
} else if ("2.0".equals(aspnetCoreVersion.getOptValue())) {
687689
compatibilityVersion = null;
@@ -698,6 +700,8 @@ private void setAspnetCoreVersion(String packageFolder) {
698700

699701
private String determineTemplateVersion(String frameworkVersion) {
700702
switch (frameworkVersion) {
703+
case "8.0":
704+
case "7.0":
701705
case "6.0":
702706
case "5.0":
703707
case "3.1":

samples/client/echo_api/typescript-axios/build/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"prepare": "npm run build"
2323
},
2424
"dependencies": {
25-
"axios": "^1.6.1"
25+
"axios": ""
2626
},
2727
"devDependencies": {
2828
"@types/node": "12.11.5 - 12.20.42",

0 commit comments

Comments
 (0)