Skip to content

Commit 6256e7c

Browse files
committed
fix(swift): guide gen
1 parent 6cf9d12 commit 6256e7c

File tree

3 files changed

+38
-15
lines changed

3 files changed

+38
-15
lines changed

generators/src/main/java/com/algolia/codegen/cts/guides/GuidesGenerator.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.algolia.codegen.cts.guides;
22

3+
import static com.algolia.codegen.utils.Helpers.capitalize;
4+
import static com.github.jknack.handlebars.helper.StringHelpers.capitalize;
5+
36
import com.algolia.codegen.cts.manager.CTSManager;
47
import com.algolia.codegen.cts.tests.TestsGenerator;
58
import com.algolia.codegen.utils.*;
@@ -39,11 +42,14 @@ public void addSupportingFiles(List<SupportingFile> supportingFiles, String outp
3942

4043
File templates = new File("templates/" + language + "/guides/" + client);
4144
for (File f : templates.listFiles()) {
45+
String fileName = f.getName().replace(".mustache", "");
46+
47+
if (language.equals("swift")) {
48+
fileName = capitalize(fileName) + "/main";
49+
}
50+
4251
supportingFiles.add(
43-
new SupportingFile(
44-
"guides/" + client + "/" + f.getName(),
45-
"guides/" + language + outputFolder + f.getName().replace(".mustache", "") + extension
46-
)
52+
new SupportingFile("guides/" + client + "/" + f.getName(), "guides/" + language + outputFolder + fileName + extension)
4753
);
4854
}
4955
}
@@ -53,6 +59,14 @@ public void run(Map<String, CodegenModel> models, Map<String, CodegenOperation>
5359
if (this.client.equals("search")) {
5460
bundle.put("isSearchClient", true);
5561
}
62+
63+
if (language.equals("swift")) {
64+
File templates = new File("templates/" + language + "/guides/" + client);
65+
bundle.put(
66+
"guides",
67+
Arrays.stream(templates.listFiles()).map(File::getName).map(name -> capitalize(name.replace(".mustache", ""))).toArray()
68+
);
69+
}
5670
// nothing to do here, the mustache uses dynamicSnippets lambda
5771
}
5872
}

templates/swift/guides/Package.mustache

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33

44
import PackageDescription
55

6+
let dependencies: [Target.Dependency] = [{{#packageList}}
7+
.product(
8+
name: "{{{.}}}",
9+
package: "algoliasearch-client-swift"
10+
),{{/packageList}}
11+
]
12+
613
let package = Package(
714
name: "AlgoliaSearchClientGuides",
815
platforms: [
@@ -15,14 +22,12 @@ let package = Package(
1522
.package(path: "../../clients/algoliasearch-client-swift")
1623
],
1724
targets: [
18-
.executableTarget(
19-
name: "AlgoliaSearchClientGuides",
20-
dependencies: [{{#packageList}}
21-
.product(
22-
name: "{{{.}}}",
23-
package: "algoliasearch-client-swift"
24-
),{{/packageList}}
25-
]
26-
)
25+
{{#guides}}
26+
.executableTarget(
27+
name: "AlgoliaSearchClientGuides",
28+
dependencies: dependencies,
29+
path: "Sources/{{{.}}}"
30+
),
31+
{{/guides}}
2732
]
2833
)

templates/swift/guides/search/saveObjectsMovies.mustache

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Foundation
66
import Core
77
{{> snippets/import}}
88

9-
func saveObjectsMovies() async throws {
9+
Task {
1010
let url = URL(string: "https://dashboard.algolia.com/sample_datasets/movie.json")!
1111
var data: Data? = nil
1212
#if os(Linux) // For linux interop
@@ -22,7 +22,11 @@ func saveObjectsMovies() async throws {
2222
do {
2323
// Save records in Algolia index
2424
{{#dynamicSnippet}}saveObjectsMovies{{/dynamicSnippet}}
25+
exit(EXIT_SUCCESS)
2526
} catch {
2627
print(error.localizedDescription)
28+
exit(EXIT_FAILURE)
2729
}
28-
}
30+
}
31+
32+
RunLoop.main.run()

0 commit comments

Comments
 (0)