如何在cargo-make中强制指定工作区成员的构建顺序?
用cargo-make强制指定工作区构建顺序的方法
直接通过自定义cargo-make任务就能解决,不用额外写Makefile/Justfile,步骤如下:
在工作区根目录的
Makefile.toml里,为每个成员单独定义构建任务:[tasks.build-member1] command = "cargo" args = ["build", "--package", "member1"] [tasks.build-member2] command = "cargo" args = ["build", "--package", "member2"] # 给member2的任务添加依赖,强制它必须在member1构建完成后再执行 dependencies = ["build-member1"]再定义一个总任务来触发整个构建流程:
[tasks.build-all] dependencies = ["build-member2"]
之后执行cargo make build-all,就会严格按照member1 → member2的顺序构建,完全不受字母序影响。
如果需要构建release版本,只需要给对应的任务args加上--release即可,比如:
[tasks.build-member1-release] command = "cargo" args = ["build", "--package", "member1", "--release"] [tasks.build-member2-release] command = "cargo" args = ["build", "--package", "member2", "--release"] dependencies = ["build-member1-release"] [tasks.build-all-release] dependencies = ["build-member2-release"]
这样就能满足你用cargo-make替代其他脚本工具的需求,同时精准控制构建顺序。
内容的提问来源于stack exchange,提问作者pskrgag
相关产品推荐
相关产品推荐

