【lockfile】bingo支持产品使用lockfile构建

设计文档:bingo/docs/26.03/bingo支持产品基于lockfile构建.md · openUBMC/bingo - AtomGit | GitCode

前置条件:bingo>=0.6.168

变更说明:

支持manifest中semver版本号(三段式)使用range匹配规则搭配lockfile进行构建:

场景一:首次生成lockfile

bingo lock -c支持一键生成、覆盖本地openubmc.lock:

使用示例:在manifest下直接执行bingo lock -c

场景二:更新单个组件版本

以rackmount为例,更新subsys为范围版本

  • conan: “rackmount/[>1.100.151]@openubmc/stable”

执行命令:bingo lock -u rackmount -r openubmc_opensource

场景2.1 更新组件版本号

选择A表示更新组件的版本号

结果:rackmount版本替换为中心仓最满足range的版本1.100.154

场景2.1 版本号不变,更新revision

更新revision会显示最新一条git日志,请按需选择

产品构建

bingo build日常构建不受影响,构建逻辑已兼容性适配,自适应manifest存在lockfile的场景。

1 个赞

设计文档:

日常开发时, 按以下步骤执行

flowchart TD
    A[组件上库是否修改版本号] -->|是| B[A - 修改版本号]
    A -->|否| C[B - 不修改版本号]

    B --> D[组件合入 publish发布]
    C --> D
   
    D --> X[上库manifest]

    X --> E{判断上库类型}
    E -->|如果是A| F[执行场景2.1]
    E -->|如果是B| G[执行场景2.2 ]
   
    F --> H[执行
cd manifest/build/sdk; bingo lock -u ***组件名***
更新lock]
    G --> H
    H --> Y[manifest合入lockfile修改]
1 个赞