tsl-devkit/docs/tsl/toolchain.md

3.3 KiB
Raw Blame History

TSL 工具链与验证命令(模板)

本文件提供一份通用占位模板,用于在不同 TSL 项目中快速补齐“工具链与如何验证”的关键上下文。

最小必填清单(落地到具体项目时必须补齐,否则文档不可用):

  • 工具名称、可执行命令、安装方式(版本要求可选)
  • 至少一个可运行的“最小冒烟”命令(或脚本入口)
  • 失败处理约定(含:无法执行时的替代验证方式)

使用方式:

  • 在具体项目中复制本模板并把占位符替换为真实信息;
  • 或在项目文档中引用本模板,并在项目内提供对应的 scripts/* 统一入口脚本。

1. TSL 工具链

1.1 解释器/编译器(必填)

  • 工具名称:<tsl/tslcli/内部工具名>
  • 可执行命令(统一用 <tsl> 表示 TSL 可执行入口):
    • macOS/Linux<tsl>(例:tsl / sh scripts/tsl.sh
    • Windows<tsl>(例:tsl.exe / powershell -File scripts/tsl.ps1
  • 基本执行方式:<tsl> <path/to/script.tsl> <args...>TSL 通常直接执行脚本文件)
  • 版本要求(可选):<固定版本或范围,例如:= 3.2.1 / >=3.2,<4.0>(未知可留空或写 N/A
  • 安装方式:<内部安装包/路径/IDE 自带/CI 镜像等>
  • 推荐统一入口脚本:scripts/tsl.{sh,ps1}(封装参数与环境变量,避免每个任务重复猜测)

1.2 运行环境(按需)

  • 必要环境变量:<TSL_HOME> <TSL_LIB_PATH> <LICENSE_PATH> ...
  • 外部依赖:<数据库/服务/共享目录/网络权限/账户权限>
  • 运行约束:
    • 是否允许联网:<yes/no>
    • 是否需要许可证/凭证:<说明如何在本地与 CI 提供;禁止写入仓库>
    • 约定:凭证/许可证等敏感信息通过环境变量或 CI secrets 注入;文档只写变量名/获取方式,不写明文值。

2. 验证命令

要求:改动完成后至少能跑通“最小冒烟”;若项目存在测试体系,尽量补到对应层级。

2.1 最小冒烟(必须能跑)

  • macOS/Linux<tsl> <path/to/SmokeTest.tsl> <args...>
  • Windows<tsl> <path\\to\\SmokeTest.tsl> <args...>
  • 或统一入口:
    • sh scripts/smoke.sh
    • powershell -File scripts/smoke.ps1
  • Success signal建议写清退出码为 0并给出“成功时的关键输出/产物路径”(例如输出包含某行、或生成某文件)。

2.2 单元测试(如有)

  • sh scripts/test.sh
  • 或:<tsl> <path/to/TestRunner.tsl> <args...>
  • Success signal退出码为 0失败时能定位到具体用例/输入。

2.3 静态检查/格式化(如有)

  • sh scripts/lint.sh
  • sh scripts/format.sh
  • Success signal退出码为 0formatter 二次运行无新增 diff若项目提供 formatter

2.4 构建/打包(如有)

  • sh scripts/build.sh
  • Success signal退出码为 0产物路径明确且可复现例如输出目录/包名)。

2.5 失败处理约定(必填)

  • 只修复与本次改动直接相关的失败;无关失败在输出中说明并隔离。
  • 若某验证步骤无法执行(缺环境/缺凭证),必须明确写出原因与替代验证手段(例如最小复现脚本/手动检查清单)。
  • 建议在输出中记录:执行的命令、退出码、以及关键日志片段(便于 review 与复现)。