Rust · Intermediário · Inglês · Técnico
workspace
Conjunto de crates que compartilham o mesmo Cargo.lock e a mesma pasta de build, declarado com [workspace] no Cargo.toml da raiz. Facilita monorepos em Rust.
Onde usar
Aparece em projetos grandes divididos em api, core e cli. Dependências comuns podem ser declaradas em [workspace.dependencies] e herdadas pelos membros.
Em código
# Cargo.toml na raiz
[workspace]
members = ["api", "core"]
resolver = "2"
# cada membro tem seu Cargo.tomlExemplos
Split it into a workspace with three crates.
Divida em um workspace com três crates.
All members share the same target directory.
Todos os membros compartilham a mesma pasta target.
Cuidado
Um workspace virtual, só com [workspace] na raiz, não é um pacote em si; cada membro é compilado e publicado separadamente.
Sinônimos
monorepo