docker_compose_toolchain
Rules
docker_compose_toolchain
load("@rules_docker_compose//docker_compose:docker_compose_toolchain.bzl", "docker_compose_toolchain")
docker_compose_toolchain(name, docker_compose, version)
A toolchain for providing Docker-Compose to Bazel rules.
Example:
load("@rules_docker_compose//docker_compose:docker_compose_toolchain.bzl", "docker_compose_toolchain")
filegroup(
name = "docker_compose_bin",
srcs = ["docker_compose/docker_compose.exe"],
# Note that additional runfiles associated with a hermetic archive
# of docker_compose should be associated with the target passed to the
# `docker_compose` attribute.
data = glob(["docker_compose/**"]),
)
docker_compose_toolchain(
name = "docker_compose_toolchain",
docker_compose = ":docker_compose_bin",
visibility = ["//visibility:public"],
)
For users looking to use a system install of Docker-Compose, a shell/batch script should be added that points to the system install.
Example or non-hermetic toolchain:
docker_compose.sh
#!/usr/bin/env bash
set -euo pipefail
exec /usr/bin/docker_compose $@
docker_compose.bat
@ECHO OFF
C:\Program Files\Docker\Docker\resources\docker-compose.exe %*
set EXITCODE=%ERRORLEVEL%
exit /b %EXITCODE%
load("@rules_docker_compose//docker_compose:docker_compose_toolchain.bzl", "docker_compose_toolchain")
filegroup(
name = "docker_compose_bin",
srcs = select({
"@platforms//os:windows": ["docker_compose.bat"],
"//conditions:default": ["docker_compose.sh"],
}),
)
docker_compose_toolchain(
name = "docker_compose_toolchain",
docker_compose = ":docker_compose_bin",
visibility = ["//visibility:public"],
)
ATTRIBUTES