tmake
简介
gs模板的处理工具
tmake 是template maker的缩写
本pkg的功能之一是将源代码目录的源文件(.gs)中的模板占位符(如TEMPLATE_REQURE(ABC))替换为对应的值
以一个模板pkg为例,必然有的文件夹如下:
- src - 源代码目录
- 源文件1.gs
- 源文件2.gs
- ...
- template
- template.yaml - 模板配置文件(参考__template__.yaml)
tokens - 占位符对应的值
- 配置一组模板占位符
prebuild_files - 前处理文件
- 配置一组前处 理文件(.gs,需要包含main方法)
prebuild_cmds - 前处理命令
-
配置一组前处理命令(move_file/move_path/drop_file/drop_path)
-
move_file
<src_file><dst_file> -
move_path
<src_path><dst_path> -
move_path
<src_path><dst_path><pattern> -
drop_file
<src_file> -
drop_path
<src_path><pattern>postbuild_files - 后处理文件(需要包含main方法) -
配置一组后处理文件(.gs, 需要包含main方法)
postbuild_cmds - 后处理命令
-
配置一组后处理命令(move_file/move_path/drop_file/drop_path)
-
move_file
<src_file><dst_file> -
move_path
<src_path><dst_path> -
move_path
<src_path><dst_path><pattern> -
drop_file
<src_file> -
drop_path
<src_path><pattern>packages - 依赖的pkg包 -
配置一组本模板安装后依赖的pkg包
file_structures - 文件结构
- 配置一组模板安装时需要生成的文件或者目录,其中目录需要以'/'结尾配置
project_properties - 自定义的项目属性
- 配置一组自定义的项目属性
mount_points - 挂载点
- 配置一组挂载点
组件接口
tmake.gs
| 函数原型 | 函数作用 |
|---|---|
| void set_project_property(string key, mixed value) | 设置项目属性 |
| mixed get_project_property(string key) | 获取项目属性 |
| map get_project_properties() | 获取项目所有属性 |
| void add_token(string token_name, map properties) | 在env里动态添加一个token(优先级高于文件token) |
| map get_tokens(string template_path = nil, object yaml_ob = nil) | 获取指定路径下以及env里的所有token词典(调试接口) |
| bool build(string template_path, string out_path, string project_name = "tmake") | 将给定的一个模板目录处理为目标代码 |
类
TemplateContext
模板制作环境
成员变量
| 变量名 | 类型 | 初始值 | 须初始化 | 描述 |
|---|---|---|---|---|
| path | string | nil | 可选 | 模板目录 |
| out_path | string | nil | 可选 | 输出目录 |
| name | string | nil | 可选 | 名称(根据模板目录计算) |
| yaml_ob | object | nil | 可选 | YAML配置文件对象 |
| source_dict | map | nil | 可选 | 模板源文件词典 |
| token_dict | map | nil | 可选 | 模板占位符词典表 |
| project_properties | map | nil | 可选 | 项目属性 |
| file_structures | array | nil | 可选 | 模板文件结构 |
| packages | array | nil | 可选 | 依赖包packages安装 |
| prebuild_files | array | nil | 可选 | 前处理文件 |
| prebuild_cmds | array | nil | 可选 | 前处理指令 |
| postbuild_files | array | nil | 可选 | 后处理文件 |
| postbuild_cmds | array | nil | 可选 | 后处理指令 |
| error_count | int | 0 | 可选 | 错误计数 |
成员方法
TemplateSourceFile
模板源文件
成员变量
| 变量名 | 类型 | 初始值 | 须初始化 | 描述 |
|---|---|---|---|---|
| path | string | nil | 可选 | 文件路径 |