actr_cli/templates/swift/
echo.rs1use crate::error::Result;
2use crate::templates::ProjectTemplate;
3use std::collections::HashMap;
4use std::path::Path;
5
6pub fn load(files: &mut HashMap<String, String>) -> Result<()> {
7 let fixtures_root = Path::new(env!("CARGO_MANIFEST_DIR")).join("fixtures");
8
9 ProjectTemplate::load_file(
11 &fixtures_root.join("swift/project.yml.hbs"),
12 files,
13 "project.yml",
14 )?;
15 ProjectTemplate::load_file(
16 &fixtures_root.join("swift/Actr.toml.hbs"),
17 files,
18 "Actr.toml",
19 )?;
20 ProjectTemplate::load_file(
21 &fixtures_root.join("swift/gitignore.hbs"),
22 files,
23 ".gitignore",
24 )?;
25 ProjectTemplate::load_file(
26 &fixtures_root.join("swift/Info.plist.hbs"),
27 files,
28 "{{PROJECT_NAME_PASCAL}}/Info.plist",
29 )?;
30 ProjectTemplate::load_file(
31 &fixtures_root.join("swift/App.swift.hbs"),
32 files,
33 "{{PROJECT_NAME_PASCAL}}/{{PROJECT_NAME_PASCAL}}App.swift",
34 )?;
35 ProjectTemplate::load_file(
36 &fixtures_root.join("swift/ContentView.swift.hbs"),
37 files,
38 "{{PROJECT_NAME_PASCAL}}/ContentView.swift",
39 )?;
40 ProjectTemplate::load_file(
41 &fixtures_root.join("swift/ActrService.swift.init.hbs"),
42 files,
43 "{{PROJECT_NAME_PASCAL}}/ActrService.swift",
44 )?;
45 ProjectTemplate::load_file(
46 &fixtures_root.join("swift/ActrService+Echo.swift.hbs"),
47 files,
48 "{{PROJECT_NAME_PASCAL}}/ActrService+Echo.swift",
49 )?;
50 ProjectTemplate::load_file(
52 &fixtures_root.join("echo-service/echo.proto"),
53 files,
54 "protos/echo.proto",
55 )?;
56 files.insert(
57 "protos/client.proto".to_string(),
58 "syntax = \"proto3\";\n\npackage {{PROJECT_NAME_SNAKE}};\n".to_string(),
59 );
60 ProjectTemplate::load_file(
61 &fixtures_root.join("swift/Assets.xcassets/Contents.json"),
62 files,
63 "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/Contents.json",
64 )?;
65 ProjectTemplate::load_file(
66 &fixtures_root.join("swift/Assets.xcassets/AccentColor.colorset/Contents.json"),
67 files,
68 "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/AccentColor.colorset/Contents.json",
69 )?;
70 ProjectTemplate::load_file(
71 &fixtures_root.join("swift/Assets.xcassets/AppIcon.appiconset/Contents.json"),
72 files,
73 "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/AppIcon.appiconset/Contents.json",
74 )?;
75
76 Ok(())
77}