Skip to content

Commit 06d914d

Browse files
authored
[swift6] useSPMFileStructure by default (#19772)
* [swift6] useSPMFileStructure by default * [swift6] useSPMFileStructure by default * [swift6] useSPMFileStructure by default
1 parent 5f345c0 commit 06d914d

File tree

377 files changed

+381
-369
lines changed

Some content is hidden

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

377 files changed

+381
-369
lines changed

bin/configs/swift6-combineDeferredLibrary.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
77
responseAs: Combine
8+
useSPMFileStructure: false
89
podAuthors: ""
910
podSummary: PetstoreClient
1011
projectName: PetstoreClient

bin/configs/swift6-combineLibrary.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ generateAliasAsModel: true
66
additionalProperties:
77
responseAs: Combine
88
combineDeferred: false
9+
swiftPackagePath: "Sources/CombineLibrary"
910
podAuthors: ""
1011
podSummary: PetstoreClient
1112
projectName: PetstoreClient

bin/configs/swift6-oneOf.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
44
templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
7+
useSPMFileStructure: false
78
podAuthors: ""
89
podSummary: PetstoreClient
910
projectName: PetstoreClient

bin/configs/swift6-promisekitLibrary.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/2_0/swift/petstore-with-
44
templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
7+
useSPMFileStructure: false
78
responseAs: PromiseKit
89
podAuthors: ""
910
podSummary: PetstoreClient

bin/configs/swift6-resultLibrary.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
77
responseAs: Result
8+
useSPMFileStructure: false
89
podAuthors: ""
910
podSummary: PetstoreClient
1011
sortParamsByRequiredFlag: false

bin/configs/swift6-rxswiftLibrary.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
77
responseAs: RxSwift
8+
useSPMFileStructure: false
89
podAuthors: ""
910
podSummary: PetstoreClient
1011
projectName: PetstoreClient

bin/configs/swift6-validation.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/validation.yaml
44
templateDir: modules/openapi-generator/src/main/resources/swift6
55
generateAliasAsModel: true
66
additionalProperties:
7+
useSPMFileStructure: false
78
podAuthors: ""
89
podSummary: PetstoreClient
910
projectName: PetstoreClient

docs/generators/swift6.md

Lines changed: 2 additions & 2 deletions

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ public class Swift6ClientCodegen extends DefaultCodegen implements CodegenConfig
9898
@Setter
9999
protected boolean swiftUseApiNamespace = false;
100100
@Setter
101-
protected boolean useSPMFileStructure = false;
101+
protected boolean useSPMFileStructure = true;
102102
@Setter
103-
protected String swiftPackagePath = "Classes" + File.separator + "OpenAPIs";
103+
protected String swiftPackagePath = "Sources" + File.separator + projectName;
104104
@Setter
105105
protected boolean oneOfUnknownDefaultCase = false;
106106
@Setter
@@ -323,9 +323,9 @@ public Swift6ClientCodegen() {
323323

324324
cliOptions.add(new CliOption(CodegenConstants.API_NAME_PREFIX, CodegenConstants.API_NAME_PREFIX_DESC));
325325
cliOptions.add(new CliOption(USE_SPM_FILE_STRUCTURE, "Use SPM file structure"
326-
+ " and set the source path to Sources" + File.separator + "{{projectName}} (default: false)."));
326+
+ " and set the source path to Sources" + File.separator + "{{projectName}} (default: true)."));
327327
cliOptions.add(new CliOption(SWIFT_PACKAGE_PATH, "Set a custom source path instead of "
328-
+ projectName + File.separator + "Classes" + File.separator + "OpenAPIs" + "."));
328+
+ "Sources" + File.separator + "{{projectName}}" + "."));
329329
cliOptions.add(new CliOption(USE_CLASSES, "Use final classes for models instead of structs (default: false)")
330330
.defaultValue(Boolean.FALSE.toString()));
331331

@@ -458,7 +458,6 @@ public void processOpts() {
458458
} else {
459459
additionalProperties.put(PROJECT_NAME, projectName);
460460
}
461-
sourceFolder = projectName + File.separator + sourceFolder;
462461

463462
// Setup nonPublicApi option, which generates code with reduced access
464463
// modifiers; allows embedding elsewhere without exposing non-public API calls
@@ -517,14 +516,20 @@ public void processOpts() {
517516
if (additionalProperties.containsKey(SWIFT_USE_API_NAMESPACE)) {
518517
setSwiftUseApiNamespace(convertPropertyToBooleanAndWriteBack(SWIFT_USE_API_NAMESPACE));
519518
}
519+
additionalProperties.put(SWIFT_USE_API_NAMESPACE, swiftUseApiNamespace);
520520

521521
if (!additionalProperties.containsKey(POD_AUTHORS)) {
522522
additionalProperties.put(POD_AUTHORS, DEFAULT_POD_AUTHORS);
523523
}
524524

525525
if (additionalProperties.containsKey(USE_SPM_FILE_STRUCTURE)) {
526526
setUseSPMFileStructure(convertPropertyToBooleanAndWriteBack(USE_SPM_FILE_STRUCTURE));
527+
}
528+
additionalProperties.put(USE_SPM_FILE_STRUCTURE, useSPMFileStructure);
529+
if (useSPMFileStructure) {
527530
sourceFolder = "Sources" + File.separator + projectName;
531+
} else {
532+
sourceFolder = projectName + File.separator + "Classes" + File.separator + "OpenAPIs";
528533
}
529534

530535
if (additionalProperties.containsKey(SWIFT_PACKAGE_PATH)

samples/client/petstore/swift6/alamofireLibrary/.openapi-generator/FILES

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,64 +3,64 @@
33
Cartfile
44
Package.swift
55
PetstoreClient.podspec
6-
PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift
7-
PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift
8-
PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift
9-
PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift
10-
PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift
11-
PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift
12-
PetstoreClient/Classes/OpenAPIs/Infrastructure/APIHelper.swift
13-
PetstoreClient/Classes/OpenAPIs/Infrastructure/APIs.swift
14-
PetstoreClient/Classes/OpenAPIs/Infrastructure/AlamofireImplementations.swift
15-
PetstoreClient/Classes/OpenAPIs/Infrastructure/CodableHelper.swift
16-
PetstoreClient/Classes/OpenAPIs/Infrastructure/Extensions.swift
17-
PetstoreClient/Classes/OpenAPIs/Infrastructure/JSONDataEncoding.swift
18-
PetstoreClient/Classes/OpenAPIs/Infrastructure/JSONEncodingHelper.swift
19-
PetstoreClient/Classes/OpenAPIs/Infrastructure/JSONValue.swift
20-
PetstoreClient/Classes/OpenAPIs/Infrastructure/Models.swift
21-
PetstoreClient/Classes/OpenAPIs/Infrastructure/OpenAPIDateWithoutTime.swift
22-
PetstoreClient/Classes/OpenAPIs/Infrastructure/OpenISO8601DateFormatter.swift
23-
PetstoreClient/Classes/OpenAPIs/Infrastructure/SynchronizedDictionary.swift
24-
PetstoreClient/Classes/OpenAPIs/Infrastructure/Validation.swift
25-
PetstoreClient/Classes/OpenAPIs/Models/AdditionalPropertiesClass.swift
26-
PetstoreClient/Classes/OpenAPIs/Models/Animal.swift
27-
PetstoreClient/Classes/OpenAPIs/Models/AnimalFarm.swift
28-
PetstoreClient/Classes/OpenAPIs/Models/ApiResponse.swift
29-
PetstoreClient/Classes/OpenAPIs/Models/ArrayOfArrayOfNumberOnly.swift
30-
PetstoreClient/Classes/OpenAPIs/Models/ArrayOfNumberOnly.swift
31-
PetstoreClient/Classes/OpenAPIs/Models/ArrayTest.swift
32-
PetstoreClient/Classes/OpenAPIs/Models/Capitalization.swift
33-
PetstoreClient/Classes/OpenAPIs/Models/Cat.swift
34-
PetstoreClient/Classes/OpenAPIs/Models/Category.swift
35-
PetstoreClient/Classes/OpenAPIs/Models/ClassModel.swift
36-
PetstoreClient/Classes/OpenAPIs/Models/Client.swift
37-
PetstoreClient/Classes/OpenAPIs/Models/Dog.swift
38-
PetstoreClient/Classes/OpenAPIs/Models/EnumArrays.swift
39-
PetstoreClient/Classes/OpenAPIs/Models/EnumClass.swift
40-
PetstoreClient/Classes/OpenAPIs/Models/EnumTest.swift
41-
PetstoreClient/Classes/OpenAPIs/Models/File.swift
42-
PetstoreClient/Classes/OpenAPIs/Models/FileSchemaTestClass.swift
43-
PetstoreClient/Classes/OpenAPIs/Models/FormatTest.swift
44-
PetstoreClient/Classes/OpenAPIs/Models/HasOnlyReadOnly.swift
45-
PetstoreClient/Classes/OpenAPIs/Models/List.swift
46-
PetstoreClient/Classes/OpenAPIs/Models/MapTest.swift
47-
PetstoreClient/Classes/OpenAPIs/Models/MixedPropertiesAndAdditionalPropertiesClass.swift
48-
PetstoreClient/Classes/OpenAPIs/Models/Model200Response.swift
49-
PetstoreClient/Classes/OpenAPIs/Models/Name.swift
50-
PetstoreClient/Classes/OpenAPIs/Models/NumberOnly.swift
51-
PetstoreClient/Classes/OpenAPIs/Models/Order.swift
52-
PetstoreClient/Classes/OpenAPIs/Models/OuterComposite.swift
53-
PetstoreClient/Classes/OpenAPIs/Models/OuterEnum.swift
54-
PetstoreClient/Classes/OpenAPIs/Models/Pet.swift
55-
PetstoreClient/Classes/OpenAPIs/Models/ReadOnlyFirst.swift
56-
PetstoreClient/Classes/OpenAPIs/Models/Return.swift
57-
PetstoreClient/Classes/OpenAPIs/Models/SpecialModelName.swift
58-
PetstoreClient/Classes/OpenAPIs/Models/StringBooleanMap.swift
59-
PetstoreClient/Classes/OpenAPIs/Models/Tag.swift
60-
PetstoreClient/Classes/OpenAPIs/Models/TypeHolderDefault.swift
61-
PetstoreClient/Classes/OpenAPIs/Models/TypeHolderExample.swift
62-
PetstoreClient/Classes/OpenAPIs/Models/User.swift
636
README.md
7+
Sources/PetstoreClient/APIs/AnotherFakeAPI.swift
8+
Sources/PetstoreClient/APIs/FakeAPI.swift
9+
Sources/PetstoreClient/APIs/FakeClassnameTags123API.swift
10+
Sources/PetstoreClient/APIs/PetAPI.swift
11+
Sources/PetstoreClient/APIs/StoreAPI.swift
12+
Sources/PetstoreClient/APIs/UserAPI.swift
13+
Sources/PetstoreClient/Infrastructure/APIHelper.swift
14+
Sources/PetstoreClient/Infrastructure/APIs.swift
15+
Sources/PetstoreClient/Infrastructure/AlamofireImplementations.swift
16+
Sources/PetstoreClient/Infrastructure/CodableHelper.swift
17+
Sources/PetstoreClient/Infrastructure/Extensions.swift
18+
Sources/PetstoreClient/Infrastructure/JSONDataEncoding.swift
19+
Sources/PetstoreClient/Infrastructure/JSONEncodingHelper.swift
20+
Sources/PetstoreClient/Infrastructure/JSONValue.swift
21+
Sources/PetstoreClient/Infrastructure/Models.swift
22+
Sources/PetstoreClient/Infrastructure/OpenAPIDateWithoutTime.swift
23+
Sources/PetstoreClient/Infrastructure/OpenISO8601DateFormatter.swift
24+
Sources/PetstoreClient/Infrastructure/SynchronizedDictionary.swift
25+
Sources/PetstoreClient/Infrastructure/Validation.swift
26+
Sources/PetstoreClient/Models/AdditionalPropertiesClass.swift
27+
Sources/PetstoreClient/Models/Animal.swift
28+
Sources/PetstoreClient/Models/AnimalFarm.swift
29+
Sources/PetstoreClient/Models/ApiResponse.swift
30+
Sources/PetstoreClient/Models/ArrayOfArrayOfNumberOnly.swift
31+
Sources/PetstoreClient/Models/ArrayOfNumberOnly.swift
32+
Sources/PetstoreClient/Models/ArrayTest.swift
33+
Sources/PetstoreClient/Models/Capitalization.swift
34+
Sources/PetstoreClient/Models/Cat.swift
35+
Sources/PetstoreClient/Models/Category.swift
36+
Sources/PetstoreClient/Models/ClassModel.swift
37+
Sources/PetstoreClient/Models/Client.swift
38+
Sources/PetstoreClient/Models/Dog.swift
39+
Sources/PetstoreClient/Models/EnumArrays.swift
40+
Sources/PetstoreClient/Models/EnumClass.swift
41+
Sources/PetstoreClient/Models/EnumTest.swift
42+
Sources/PetstoreClient/Models/File.swift
43+
Sources/PetstoreClient/Models/FileSchemaTestClass.swift
44+
Sources/PetstoreClient/Models/FormatTest.swift
45+
Sources/PetstoreClient/Models/HasOnlyReadOnly.swift
46+
Sources/PetstoreClient/Models/List.swift
47+
Sources/PetstoreClient/Models/MapTest.swift
48+
Sources/PetstoreClient/Models/MixedPropertiesAndAdditionalPropertiesClass.swift
49+
Sources/PetstoreClient/Models/Model200Response.swift
50+
Sources/PetstoreClient/Models/Name.swift
51+
Sources/PetstoreClient/Models/NumberOnly.swift
52+
Sources/PetstoreClient/Models/Order.swift
53+
Sources/PetstoreClient/Models/OuterComposite.swift
54+
Sources/PetstoreClient/Models/OuterEnum.swift
55+
Sources/PetstoreClient/Models/Pet.swift
56+
Sources/PetstoreClient/Models/ReadOnlyFirst.swift
57+
Sources/PetstoreClient/Models/Return.swift
58+
Sources/PetstoreClient/Models/SpecialModelName.swift
59+
Sources/PetstoreClient/Models/StringBooleanMap.swift
60+
Sources/PetstoreClient/Models/Tag.swift
61+
Sources/PetstoreClient/Models/TypeHolderDefault.swift
62+
Sources/PetstoreClient/Models/TypeHolderExample.swift
63+
Sources/PetstoreClient/Models/User.swift
6464
docs/AdditionalPropertiesClass.md
6565
docs/Animal.md
6666
docs/AnimalFarm.md

0 commit comments

Comments
 (0)