diff --git a/prelude-si/docker.bzl b/prelude-si/docker.bzl index f628c6ba31..23b1897697 100644 --- a/prelude-si/docker.bzl +++ b/prelude-si/docker.bzl @@ -50,7 +50,7 @@ docker_image = rule( doc = """Mapping of sources files to the relative directory in a Dockerfile context..""", ), "build_deps": attrs.list( - attrs.string(), + attrs.dep(), default = [], doc = """Buck2 targets that could be built in an image.""", ), @@ -219,7 +219,7 @@ def docker_build_context(ctx: "context") -> DockerBuildContext.type: cmd.add(cmd_args(src, format = "{}=" + rel_path)) for dep in ctx.attrs.build_deps or []: cmd.add("--dep") - cmd.add(dep) + cmd.add(dep.label.raw_target()) cmd.add(context_tree.as_output()) ctx.actions.run(cmd, category = "docker_build_context") diff --git a/prelude-si/docker/docker_build_context_srcs_from_deps.bxl b/prelude-si/docker/docker_build_context_srcs_from_deps.bxl index 0dd8f3427e..4e61c66f60 100644 --- a/prelude-si/docker/docker_build_context_srcs_from_deps.bxl +++ b/prelude-si/docker/docker_build_context_srcs_from_deps.bxl @@ -60,7 +60,9 @@ docker_build_context_srcs_from_deps = bxl( ) def _normalize_target_str(dep: str.type) -> str.type: - if dep.startswith("//"): + if dep.startswith("root//"): + return dep + elif dep.startswith("//"): return "root" + dep else: return "root//{}".format(dep)