构建目标描述文件管理
更新时间:2025/10/15
在Gitcode上查看源码

bingo build命令支持基于任务的多进程并行调度,其-t参数依赖一个目标描述文件,该文件是yml格式,具体参考 构建框架-目标描述文件

或者参考已实现的目标,代码位置 bingo/target

目标描述文件原本由产品管理,考虑其中的目标为多个产品共用,当前已提取至bingo管理。

产品目标描述文件定制

产品可以继承或重写目标描述文件,bingo构建时会优先查询当前目录(build/target)是否存在-t指定的目标描述文件,如果文件存在则会使用产品自定义的目标描述文件。 只有产品未定制目标描述文件时才会使用bingo定义的目标描述文件。

TIP

示例: bingo build -t publish用于XX产品版本发布,如果XX产品需要自定义发布流程,可在manifest/build/target目录下新增publish.yml文件并编写目标实现逻辑,bingo构建时检查到XX产品有自定义的publish目标,则会直接加载,此时不会加载bingo定义的publish目标。 如果YY产品没有自定义publish目标,则会使用bingo定义的publish目标描述文件。

防冲突机制

目标描述文件的文件名代表了目标的功能和应用,如果产品在build/target目录新增了目标描述文件且该目标在bingo中不存在,需要在bingo的target目录中创建一个文件名相同的文件,内部增加注释注意(什么产品使用此目标完成了什么功能)。

上述防冲突机制用于产品向bingo申明某一名称的目标已被占用,避免bingo新增功能占用产品已经实现的目标,防止目标名称冲突。

对于产品未申明目标,bingo有优先使用权。

TIP

示例: bingo新增一个无任何产品申明的test_target这一目标实现某种公共能力。XX产品报告因产品自定义了test_target目标导致无法使用公共能力的,需要产品修改自己的目标描述文件的文件名。