Skip to main content

actr_cli/templates/swift/
echo.rs

1use crate::error::Result;
2use crate::templates::ProjectTemplate;
3use std::collections::HashMap;
4use std::path::Path;
5
6pub fn load(files: &mut HashMap<String, String>, is_service: bool) -> Result<()> {
7    let fixtures_root = Path::new(env!("CARGO_MANIFEST_DIR")).join("fixtures");
8
9    ProjectTemplate::load_file(
10        &fixtures_root.join("swift/project.yml.hbs"),
11        files,
12        "project.yml",
13    )?;
14    if is_service {
15        ProjectTemplate::load_file(
16            &fixtures_root.join("swift/echo/manifest.toml.service.hbs"),
17            files,
18            "manifest.toml",
19        )?;
20    } else {
21        ProjectTemplate::load_file(
22            &fixtures_root.join("swift/echo/manifest.toml.hbs"),
23            files,
24            "manifest.toml",
25        )?;
26    }
27    ProjectTemplate::load_file(
28        &fixtures_root.join("swift/manifest.lock.toml.hbs"),
29        files,
30        "manifest.lock.toml",
31    )?;
32    ProjectTemplate::load_file(
33        &fixtures_root.join("swift/gitignore.hbs"),
34        files,
35        ".gitignore",
36    )?;
37    ProjectTemplate::load_file(
38        &fixtures_root.join("swift/dist.keep.hbs"),
39        files,
40        "dist/.keep",
41    )?;
42    ProjectTemplate::load_file(
43        &fixtures_root.join("swift/echo/README.md.hbs"),
44        files,
45        "README.md",
46    )?;
47    ProjectTemplate::load_file(
48        &fixtures_root.join("swift/echo/README.zh.md.hbs"),
49        files,
50        "README.zh.md",
51    )?;
52    ProjectTemplate::load_file(
53        &fixtures_root.join("swift/Info.plist.hbs"),
54        files,
55        "{{PROJECT_NAME_PASCAL}}/Info.plist",
56    )?;
57    ProjectTemplate::load_file(
58        &fixtures_root.join("swift/App.swift.hbs"),
59        files,
60        "{{PROJECT_NAME_PASCAL}}/{{PROJECT_NAME_PASCAL}}.swift",
61    )?;
62    ProjectTemplate::load_file(
63        &fixtures_root.join("swift/echo/ContentView.swift.hbs"),
64        files,
65        "{{PROJECT_NAME_PASCAL}}/ContentView.swift",
66    )?;
67    ProjectTemplate::load_file(
68        &fixtures_root.join("swift/echo/ActrService.swift.hbs"),
69        files,
70        "{{PROJECT_NAME_PASCAL}}/ActrService.swift",
71    )?;
72    ProjectTemplate::load_file(
73        &fixtures_root.join("swift/Assets.xcassets/Contents.json"),
74        files,
75        "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/Contents.json",
76    )?;
77    ProjectTemplate::load_file(
78        &fixtures_root.join("swift/Assets.xcassets/AccentColor.colorset/Contents.json"),
79        files,
80        "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/AccentColor.colorset/Contents.json",
81    )?;
82    ProjectTemplate::load_file(
83        &fixtures_root.join("swift/Assets.xcassets/AppIcon.appiconset/Contents.json"),
84        files,
85        "{{PROJECT_NAME_PASCAL}}/Assets.xcassets/AppIcon.appiconset/Contents.json",
86    )?;
87
88    Ok(())
89}