Skip to main content

actr_cli/templates/kotlin/
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>) -> Result<()> {
7    let fixtures_root = Path::new(env!("CARGO_MANIFEST_DIR")).join("fixtures");
8
9    // Load root project files
10    ProjectTemplate::load_file(
11        &fixtures_root.join("kotlin/build.gradle.kts"),
12        files,
13        "build.gradle.kts",
14    )?;
15    ProjectTemplate::load_file(
16        &fixtures_root.join("kotlin/settings.gradle.kts"),
17        files,
18        "settings.gradle.kts",
19    )?;
20    ProjectTemplate::load_file(
21        &fixtures_root.join("kotlin/gradle.properties"),
22        files,
23        "gradle.properties",
24    )?;
25    ProjectTemplate::load_file(&fixtures_root.join("kotlin/gitignore"), files, ".gitignore")?;
26    ProjectTemplate::load_file(
27        &fixtures_root.join("kotlin/echo/Actr.toml"),
28        files,
29        "Actr.toml",
30    )?;
31
32    // Load app module files
33    ProjectTemplate::load_file(
34        &fixtures_root.join("kotlin/app/build.gradle.kts"),
35        files,
36        "app/build.gradle.kts",
37    )?;
38    ProjectTemplate::load_file(
39        &fixtures_root.join("kotlin/app/src/main/AndroidManifest.xml"),
40        files,
41        "app/src/main/AndroidManifest.xml",
42    )?;
43
44    // Load main source files
45    ProjectTemplate::load_file(
46        &fixtures_root.join("kotlin/echo/MainActivity.kt"),
47        files,
48        "app/src/main/java/MainActivity.kt",
49    )?;
50
51    // Load resource files
52    ProjectTemplate::load_file(
53        &fixtures_root.join("kotlin/app/src/main/res/layout/activity_main.xml"),
54        files,
55        "app/src/main/res/layout/activity_main.xml",
56    )?;
57    ProjectTemplate::load_file(
58        &fixtures_root.join("kotlin/app/src/main/res/values/strings.xml"),
59        files,
60        "app/src/main/res/values/strings.xml",
61    )?;
62    ProjectTemplate::load_file(
63        &fixtures_root.join("kotlin/app/src/main/res/values/colors.xml"),
64        files,
65        "app/src/main/res/values/colors.xml",
66    )?;
67    ProjectTemplate::load_file(
68        &fixtures_root.join("kotlin/app/src/main/res/values/themes.xml"),
69        files,
70        "app/src/main/res/values/themes.xml",
71    )?;
72
73    // Load test files
74    ProjectTemplate::load_file(
75        &fixtures_root.join("kotlin/echo/EchoIntegrationTest.kt"),
76        files,
77        "app/src/androidTest/java/EchoIntegrationTest.kt",
78    )?;
79
80    Ok(())
81}