pmake2
简介
提供使用gs代码编写打包脚本的接口以实现打包功能,效果类似gs内建的archive_builder
组件接口
pmake2.gs
函数原型 | 函数作用 |
---|---|
BuildContext new_builder(string name) | 创建一个打包工具实例 |
bool run(string name, function func) | 执行一次打包 |
void run_and_exit(string name, function func) | 执行一次打包并且退出进程(成功时进程返回值为0,失败为-1) |
类
BuildContext
打包处理的工作环境类
成员变量
变量名 | 类型 | 初始值 | 须初始化 | 描述 |
---|---|---|---|---|
name | string | nil | 可选 | 名字 |
add_files | map | nil | 可选 | 添加的文件列表 |
ignore_files | map | nil | 可选 | 忽略的文件列表 |
pack_files | map | nil | 可选 | archive pack files 添加到二进制包里的文件列表 |
output_path | string | nil | 可选 | mount point path 输出路径 |
root_dir | string | nil | 可选 | real dir 根目录的系统路径(相对于当前工作路径) |
output_dir | string | nil | 可选 | 输出目录的系统路径(相对于当前工作路径) |
mount_points | map | nil | 可选 | mount 挂载点词典 |
error_count | int | 0 | 可选 | error list 已发生的错误次数 |
成员方法
样例
import pkg.pmake2;
pmake2.run("test", (BuildContext context) {
// 校验并设置root路径
context.require_root("./");
// 设置输出路径
context.set_output_dir("./test/output");
// 额外挂载
context.mount("./test/pack", "/@pack");
// 编译/添加文件
context.add_obj("/test/a/**");
// 生成boot plist
context.boot_plist("unpack", "/@root/config/**.json", "/@local/config/");
context.boot_plist("unpack", "/@root/etc/**.json", "/@local/etc/");
context.boot_plist("set", "pkg_path", "./pkg/");
context.boot_plist("run", "/main.gs");
// 生成打包文件
context.pack("/@pack/pak.zip");
});