diff --git a/docker/Dockerfile.cookware b/docker/Dockerfile.cookware index adf3f3ed..e47b38d1 100644 --- a/docker/Dockerfile.cookware +++ b/docker/Dockerfile.cookware @@ -6,6 +6,7 @@ ARG RUSTUP_HOME ARG CARGO_HOME ARG CARGO_TARGET ARG rustup_version="1.28.1" +ARG rustup_components WORKDIR /opt RUN \ @@ -37,8 +38,7 @@ RUN \ rustup component add \ --toolchain ${rust_toolchain} \ --target ${CARGO_TARGET} \ - clippy \ - rustfmt \ + ${rustup_components} \ ; EOF @@ -48,6 +48,7 @@ ARG rust_toolchain ARG RUSTUP_HOME ARG CARGO_HOME ARG CARGO_TARGET +ARG cargo_installs RUN \ --mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \ @@ -58,11 +59,6 @@ RUN \ cargo install \ --locked \ --target ${CARGO_TARGET} \ - cargo-chef \ - cargo-audit \ - cargo-deb \ - cargo-arch \ - cargo-generate-rpm \ - lychee \ + ${cargo_installs} \ ; EOF diff --git a/docker/bake.hcl b/docker/bake.hcl index e89e10b9..5c5ab793 100644 --- a/docker/bake.hcl +++ b/docker/bake.hcl @@ -1279,6 +1279,20 @@ group "buildsys" { ] } +rustup_components = [ + "clippy", + "rustfmt", +] + +cargo_installs = [ + "cargo-chef", + "cargo-audit", + "cargo-deb", + "cargo-arch", + "cargo-generate-rpm", + "lychee", +] + # # Rust build environment # @@ -1318,6 +1332,8 @@ target "cookware" { CARGO_HOME = "/opt/${sys_name}/${sys_target}/cargo" CARGO_TARGET = rust_target CARGO_TERM_VERBOSE = CARGO_TERM_VERBOSE + cargo_installs = join(" ", cargo_installs) + rustup_components = join(" ", rustup_components) } }