@@ -5,31 +5,45 @@ if [[ -n "${SSM_CMD_INIT_LOADED:-}" ]]; then
55fi
66SSM_CMD_INIT_LOADED=1
77
8+ # 按“内嵌模板优先、源码模板回退”写出模板文件,兼容单文件分发。
9+ ssm_write_template_file () {
10+ local template_name=" $1 "
11+ local destination=" $2 "
12+
13+ if declare -F ssm_write_embedded_template > /dev/null 2>&1 ; then
14+ if ssm_write_embedded_template " ${template_name} " " ${destination} " ; then
15+ return 0
16+ fi
17+ fi
18+
19+ local template_root=" ${SSM_MANAGER_HOME} /templates"
20+ cp " ${template_root} /${template_name} " " ${destination} "
21+ }
22+
823# 生成项目目录下的 deploy/systemd 骨架,包含 example 与实际可改文件。
924ssm_cmd_init () {
1025 local project_dir
1126 project_dir=" $( ssm_find_project_dir " ${SSM_CLI_PROJECT_DIR:- } " ) "
1227
1328 local config_root
1429 config_root=" $( ssm_config_root " ${project_dir} " ) "
15- local template_root=" ${SSM_MANAGER_HOME} /templates"
1630
1731 mkdir -p " ${config_root} /services" " ${config_root} /timers"
1832
19- cp " ${template_root} / README.md" " ${config_root} /README.md"
33+ ssm_write_template_file " README.md" " ${config_root} /README.md"
2034
21- cp " ${template_root} / project.conf.example" " ${config_root} /project.conf.example"
22- cp " ${template_root} / project.env.example" " ${config_root} /project.env.example"
23- cp " ${template_root} / project.conf.example" " ${config_root} /project.conf"
24- cp " ${template_root} / project.env.example" " ${config_root} /project.env"
35+ ssm_write_template_file " project.conf.example" " ${config_root} /project.conf.example"
36+ ssm_write_template_file " project.env.example" " ${config_root} /project.env.example"
37+ ssm_write_template_file " project.conf.example" " ${config_root} /project.conf"
38+ ssm_write_template_file " project.env.example" " ${config_root} /project.env"
2539
26- cp " ${template_root} / service.conf.example" " ${config_root} /services/api.conf.example"
27- cp " ${template_root} / service.env.example" " ${config_root} /services/api.env.example"
28- cp " ${template_root} / service.conf.example" " ${config_root} /services/api.conf"
29- cp " ${template_root} / service.env.example" " ${config_root} /services/api.env"
40+ ssm_write_template_file " service.conf.example" " ${config_root} /services/api.conf.example"
41+ ssm_write_template_file " service.env.example" " ${config_root} /services/api.env.example"
42+ ssm_write_template_file " service.conf.example" " ${config_root} /services/api.conf"
43+ ssm_write_template_file " service.env.example" " ${config_root} /services/api.env"
3044
31- cp " ${template_root} / timer-service.conf.example" " ${config_root} /timers/restart-api.conf.example"
32- cp " ${template_root} / timer-service.conf.example" " ${config_root} /timers/restart-api.conf"
33- cp " ${template_root} / timer-task.conf.example" " ${config_root} /timers/cleanup.conf.example"
34- cp " ${template_root} / timer-task.conf.example" " ${config_root} /timers/cleanup.conf"
45+ ssm_write_template_file " timer-service.conf.example" " ${config_root} /timers/restart-api.conf.example"
46+ ssm_write_template_file " timer-service.conf.example" " ${config_root} /timers/restart-api.conf"
47+ ssm_write_template_file " timer-task.conf.example" " ${config_root} /timers/cleanup.conf.example"
48+ ssm_write_template_file " timer-task.conf.example" " ${config_root} /timers/cleanup.conf"
3549}
0 commit comments