From f45523dd1a6c4c02d1745c13104beadfa103fa26 Mon Sep 17 00:00:00 2001 From: Jonas Reichert <75073818+Jonas1893@users.noreply.github.com> Date: Mon, 13 Mar 2023 10:42:24 +0100 Subject: [PATCH] [swift5] fix modelNamePrefix and -suffix for reserved types (#14768) * only add suffix or prefix if type is not a primitive or from dependency * add tests * add sample * add second API with prefix and suffix * add primitives * add missing pom * add missing shell script * fix cycle dependency * generate samples --- bin/configs/swift5-any-codable.yaml | 10 + docs/generators/swift5.md | 1 + .../languages/Swift5ClientCodegen.java | 11 +- .../swift5/Swift5ClientCodegenTest.java | 36 + .../src/test/resources/3_0/any_codable.yaml | 45 ++ .../petstore/swift5/anycodable/.gitignore | 105 +++ .../anycodable/.openapi-generator-ignore | 23 + .../anycodable/.openapi-generator/FILES | 24 + .../anycodable/.openapi-generator/VERSION | 1 + .../petstore/swift5/anycodable/.swiftformat | 45 ++ .../petstore/swift5/anycodable/Cartfile | 1 + .../swift5/anycodable/OpenAPIClient.podspec | 15 + .../petstore/swift5/anycodable/Package.swift | 33 + .../swift5/anycodable/PetstoreClient.podspec | 15 + .../Classes/OpenAPIs/APIHelper.swift | 119 ++++ .../Classes/OpenAPIs/APIs.swift | 75 ++ .../Classes/OpenAPIs/APIs/PetsAPI.swift | 99 +++ .../Classes/OpenAPIs/CodableHelper.swift | 49 ++ .../Classes/OpenAPIs/Configuration.swift | 19 + .../Classes/OpenAPIs/Extensions.swift | 230 +++++++ .../Classes/OpenAPIs/JSONDataEncoding.swift | 53 ++ .../Classes/OpenAPIs/JSONEncodingHelper.swift | 45 ++ .../Classes/OpenAPIs/Models.swift | 126 ++++ .../OpenAPIs/Models/PrefixPetSuffix.swift | 32 + .../OpenAPIs/OpenISO8601DateFormatter.swift | 56 ++ .../OpenAPIs/SynchronizedDictionary.swift | 36 + .../OpenAPIs/URLSessionImplementations.swift | 641 ++++++++++++++++++ .../Classes/OpenAPIs/Validation.swift | 126 ++++ .../petstore/swift5/anycodable/README.md | 45 ++ .../swift5/anycodable/docs/PetsAPI.md | 101 +++ .../swift5/anycodable/docs/PrefixPetSuffix.md | 10 + .../petstore/swift5/anycodable/git_push.sh | 57 ++ .../client/petstore/swift5/anycodable/pom.xml | 43 ++ .../petstore/swift5/anycodable/project.yml | 15 + .../swift5/anycodable/run_spmbuild.sh | 3 + .../default/docs/AdditionalPropertiesClass.md | 6 +- .../client/petstore/swift5/swift5_test_all.sh | 1 + .../docs/AdditionalPropertiesClass.md | 6 +- 38 files changed, 2349 insertions(+), 9 deletions(-) create mode 100644 bin/configs/swift5-any-codable.yaml create mode 100644 modules/openapi-generator/src/test/resources/3_0/any_codable.yaml create mode 100644 samples/client/petstore/swift5/anycodable/.gitignore create mode 100644 samples/client/petstore/swift5/anycodable/.openapi-generator-ignore create mode 100644 samples/client/petstore/swift5/anycodable/.openapi-generator/FILES create mode 100644 samples/client/petstore/swift5/anycodable/.openapi-generator/VERSION create mode 100644 samples/client/petstore/swift5/anycodable/.swiftformat create mode 100644 samples/client/petstore/swift5/anycodable/Cartfile create mode 100644 samples/client/petstore/swift5/anycodable/OpenAPIClient.podspec create mode 100644 samples/client/petstore/swift5/anycodable/Package.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient.podspec create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/APIHelper.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/APIs.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/APIs/PetsAPI.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/CodableHelper.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/Configuration.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/Extensions.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/JSONDataEncoding.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/JSONEncodingHelper.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/Models.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/Models/PrefixPetSuffix.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/OpenISO8601DateFormatter.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/SynchronizedDictionary.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/URLSessionImplementations.swift create mode 100644 samples/client/petstore/swift5/anycodable/PetstoreClient/Classes/OpenAPIs/Validation.swift create mode 100644 samples/client/petstore/swift5/anycodable/README.md create mode 100644 samples/client/petstore/swift5/anycodable/docs/PetsAPI.md create mode 100644 samples/client/petstore/swift5/anycodable/docs/PrefixPetSuffix.md create mode 100644 samples/client/petstore/swift5/anycodable/git_push.sh create mode 100644 samples/client/petstore/swift5/anycodable/pom.xml create mode 100644 samples/client/petstore/swift5/anycodable/project.yml create mode 100755 samples/client/petstore/swift5/anycodable/run_spmbuild.sh diff --git a/bin/configs/swift5-any-codable.yaml b/bin/configs/swift5-any-codable.yaml new file mode 100644 index 00000000000..62031951b9e --- /dev/null +++ b/bin/configs/swift5-any-codable.yaml @@ -0,0 +1,10 @@ +generatorName: swift5 +outputDir: samples/client/petstore/swift5/anycodable +inputSpec: modules/openapi-generator/src/test/resources/3_0/any_codable.yaml +modelNamePrefix: Prefix +modelNameSuffix: Suffix +additionalProperties: + podAuthors: "" + podSummary: PetstoreClient + projectName: PetstoreClient + podHomepage: https://github.com/openapitools/openapi-generator \ No newline at end of file diff --git a/docs/generators/swift5.md b/docs/generators/swift5.md index 72887e3b55f..474ff6b0629 100644 --- a/docs/generators/swift5.md +++ b/docs/generators/swift5.md @@ -74,6 +74,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl