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目标导致无法使用公共能力的,需要产品修改自己的目标描述文件的文件名。