Skip to content

Commit 7f6b130

Browse files
4brunuReallyLirigcataneserichardwhiukwing328
authored
Add swift6 generator (OpenAPITools#19621)
* [Swift6] create Swift6 generator * [Swift6] create Swift6 generator * Update vapor integration * Update bitrise stack to Xcode 16 * [Swift6] tryped throws * [Swift6] tryped throws * [Swift6] combine deferred and api static method * [Swift6] update readme * [Swift6] fix some errors * [Swift6] fix some errors * [Swift6] fix some errors * [Swift6] update docs * [Swift6] update docs * Use multiline comments for examples in csharp generator (OpenAPITools#19079) * multi * gen * Uncomment File::deleteOnExit (OpenAPITools#19624) * [Core/Rust Server] Check references in additionalProperties correctly when checking freeForm status (OpenAPITools#19605) * Check references in additionalProperties correctly Handle references in additionalProperties correctly when determining free-form status * Update samples * [Rust Server] Handle arrays in forms (OpenAPITools#19625) * [Rust Server] Handle arrays in forms correctly * [Rust Server] Add tests * Update samples * [Swift6] fix CI * [Swift6] fix CI * [Swift6] fix CI * [Swift6] fix CI --------- Co-authored-by: Liri S <[email protected]> Co-authored-by: Beppe Catanese <[email protected]> Co-authored-by: Richard Whitehouse <[email protected]> Co-authored-by: William Cheng <[email protected]>
1 parent 17e0b7c commit 7f6b130

File tree

2,314 files changed

+166786
-7385
lines changed

Some content is hidden

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

2,314 files changed

+166786
-7385
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1049,6 +1049,7 @@ Here is a list of template creators:
10491049
* Swift 3: @hexelon
10501050
* Swift 4: @ehyche
10511051
* Swift 5: @4brunu
1052+
* Swift 6: @4brunu
10521053
* Swift Combine: @dydus0x14
10531054
* TypeScript (Angular1): @mhardorf
10541055
* TypeScript (Angular2): @roni-frantchi
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/alamofireLibrary
3+
library: alamofire
4+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/swift6
6+
generateAliasAsModel: true
7+
useCustomDateWithoutTime: true
8+
additionalProperties:
9+
podAuthors: ""
10+
podSummary: PetstoreClient
11+
projectName: PetstoreClient
12+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-any-codable.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/anycodableLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/any_codable.yaml
4+
modelNamePrefix: Prefix
5+
modelNameSuffix: Suffix
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/apiNonStaticMethod
3+
library: alamofire
4+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/swift6
6+
additionalProperties:
7+
responseAs: AsyncAwait,Combine,Result,PromiseKit,RxSwift
8+
apiStaticMethod: false
9+
podAuthors: ""
10+
podSummary: PetstoreClient
11+
projectName: PetstoreClient
12+
podHomepage: https://github.com/openapitools/openapi-generator
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/asyncAwaitLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: AsyncAwait
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/combineDeferredLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: Combine
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/combineLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: Combine
8+
combineDeferred: false
9+
podAuthors: ""
10+
podSummary: PetstoreClient
11+
projectName: PetstoreClient
12+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-default.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/default
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator
11+
enumNameMappings:
12+
delivered: shipped

bin/configs/swift6-deprecated.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/deprecated
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-deprecated-fields.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-frozenEnums.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/frozenEnums
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
sortParamsByRequiredFlag: false
10+
enumUnknownDefaultCase: true
11+
projectName: PetstoreClient
12+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-nonPublicApi.yaml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/nonPublicApi
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
sortParamsByRequiredFlag: false
10+
nonPublicApi: true
11+
projectName: PetstoreClient
12+
podHomepage: https://github.com/openapitools/openapi-generator
13+
nameMappings:
14+
_type: underscoreType
15+
type_: typeWithUnderscore
16+
-type: dashType
17+
parameterNameMappings:
18+
_type: underscoreType
19+
type_: typeWithUnderscore
20+
-type: dashType
21+
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/objcCompatible
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
objcCompatible: true
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-oneOf.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/oneOf
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/promisekitLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: PromiseKit
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/readonlyProperties
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
readonlyProperties: true
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-resultLibrary.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/resultLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: Result
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/rxswiftLibrary
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
responseAs: RxSwift
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
12+
useBacktickEscapes: true
13+
generateModelAdditionalProperties: false
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/urlsessionLibrary
3+
library: urlsession
4+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/swift6
6+
generateAliasAsModel: true
7+
additionalProperties:
8+
podAuthors: ""
9+
podSummary: PetstoreClient
10+
projectName: PetstoreClient
11+
podHomepage: https://github.com/openapitools/openapi-generator
12+
useSPMFileStructure: true
13+
useClasses: true
14+
swiftUseApiNamespace: true

bin/configs/swift6-validation.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/validation
3+
inputSpec: modules/openapi-generator/src/test/resources/3_0/validation.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator

bin/configs/swift6-vapor.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/vaporLibrary
3+
library: vapor
4+
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/swift6
6+
generateAliasAsModel: true
7+
additionalProperties:
8+
projectName: PetstoreClient
9+
useSPMFileStructure: true
10+
useClasses: true
11+
useBacktickEscapes: true
12+
mapFileBinaryToData: true
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: swift6
2+
outputDir: samples/client/petstore/swift6/x-swift-hashable
3+
inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-fake-endpoints-models-for-testing.yaml
4+
templateDir: modules/openapi-generator/src/main/resources/swift6
5+
generateAliasAsModel: true
6+
additionalProperties:
7+
podAuthors: ""
8+
podSummary: PetstoreClient
9+
projectName: PetstoreClient
10+
podHomepage: https://github.com/openapitools/openapi-generator
11+
hashableModels: false

bitrise.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@ workflows:
1818
#!/usr/bin/env bash
1919
2020
sudo gem install cocoapods
21+
22+
title: Run Swift6 tests
23+
inputs:
24+
- content: |
25+
#!/usr/bin/env bash
26+
27+
set -e
28+
29+
./samples/client/petstore/swift6/swift6_test_all.sh
2130
2231
title: Run Swift5 tests
2332
inputs:
@@ -39,4 +48,4 @@ workflows:
3948
4049
meta:
4150
bitrise.io:
42-
stack: osx-xcode-14.3.x-ventura
51+
stack: osx-xcode-16.0.x

docs/generators.md

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ The following generators are available:
6565
* [scalaz](generators/scalaz.md)
6666
* [swift-combine](generators/swift-combine.md)
6767
* [swift5](generators/swift5.md)
68+
* [swift6 (experimental)](generators/swift6.md)
6869
* [typescript (experimental)](generators/typescript.md)
6970
* [typescript-angular](generators/typescript-angular.md)
7071
* [typescript-aurelia](generators/typescript-aurelia.md)

0 commit comments

Comments
 (0)