SuperAPI AI 工具集

matlab-create-buildfile

智能体与模型

查看项目

更新于 10-16 00:21

技能介绍

用途:为已有 MATLAB 项目生成 buildfile.m,用 matlab.buildtool 定义可重复的构建、测试与打包流水线。适用于项目已有代码和测试但缺少构建自动化,或用户要求“设置构建/创建 buildfile”时;若 buildfile.m 已存在且可用,应改用 matlab-build-toolbox 执行,若尚无项目则先用 matlab-create-project。

主要能力:自动扫描项目结构(toolbox/、+包名/、source/、src/、tests/、MEX 源文件、toolboxPackaging.prj 等),据此生成任务链。内置任务包括 CleanTask(clean)、CodeIssuesTask(check,输出 SARIF 并做阈值检查)、TestTask(test,配合 .addCodeCoverage() 同时产出 JUnit XML 与 .mat 覆盖率数据,支持增量构建)、MexTask(检测到 C/C++/Fortran 源文件时编译 MEX)。自定义函数任务用于覆盖率报告(读取覆盖率数据、逐文件记录、低于阈值仅警告不失败)和打包(从 toolboxPackaging.prj 生成 .mltbx)。

使用方式:输入 project_root(默认当前目录)、可选 coverage_threshold(默认 80)与 warning_threshold(默认 0 严格)。生成前先展示任务计划表并等待用户确认(批准/调整/跳过)。默认 buildtool 运行 check+test+coverage;完整流水线 buildtool package;列出任务 buildtool -tasks;CI 可用 matlab -batch "buildtool check test coverage package"。产物包括 results/code-issues.sarif、results/test-results.xml、results/coverage.xml、results/coverage.mat 与 release/ 下的 .mltbx。

限制与规则:若 buildfile.m 已存在,不直接覆盖,需先读取现有 test 任务确认覆盖率输出路径与格式,展示差异并等待明确批准后再修改。自定义任务必须使用 context.log 与 context.assertTrue,不用 disp/fprintf/warning 或裸 assert。版本号不得硬编码,须来自 toolboxSpecification.m 或 PRJ 文件。无 MEX 源文件时不生成 mex 任务。覆盖率任务为建议性,不使构建失败。具体收费、平台与效果资料暂未提供。