blob: d337e92f3fa8f70490e836ecd64e287507483617 [file] [log] [blame]
package(
default_visibility = [
"//tools/build_defs/docker:__subpackages__",
],
)
load("/tools/build_defs/docker/docker", "docker_build")
filegroup(
name = "srcs",
srcs = glob(["**"]),
)
filegroup(
name = "archive_testdata",
srcs = glob(["archive/**"]),
)
genrule(
name = "gen",
outs = ["gen.out"],
cmd = "echo generated > $@",
)
docker_build(
name = "gen_image",
files = [":gen"],
)
docker_build(
name = "files_base",
files = ["foo"],
)
docker_build(
name = "files_with_files_base",
base = ":files_base",
files = ["bar"],
)
docker_build(
name = "tar_base",
tars = ["one.tar"],
)
docker_build(
name = "tar_with_tar_base",
base = ":tar_base",
tars = ["two.tar"],
)
docker_build(
name = "files_with_tar_base",
base = ":tar_base",
files = ["bar"],
)
docker_build(
name = "tar_with_files_base",
base = ":files_base",
tars = ["two.tar"],
)
# TODO(mattmoor): Test scalar entrypoint
docker_build(
name = "base_with_entrypoint",
entrypoint = ["/bar"],
files = ["bar"],
ports = ["8080"],
tars = ["two.tar"],
)
# TODO(mattmoor): Test scalar cmd
docker_build(
name = "derivative_with_shadowed_cmd",
base = ":base_with_entrypoint",
cmd = ["shadowed-arg"],
files = ["foo"],
)
docker_build(
name = "derivative_with_cmd",
base = ":derivative_with_shadowed_cmd",
cmd = [
"arg1",
"arg2",
],
ports = ["80/tcp"],
tars = ["one.tar"],
)
docker_build(
name = "base_with_volume",
files = [
"bar",
"foo",
],
volumes = ["/logs"],
)
docker_build(
name = "derivative_with_volume",
base = ":base_with_volume",
volumes = [
"/asdf",
"/blah",
],
)
py_binary(
name = "extras_gen",
srcs = ["extras_gen.py"],
deps = ["//tools/build_defs/docker:archive"],
)
genrule(
name = "extras",
outs = ["extras.tar"],
cmd = "$(location :extras_gen) $@",
tools = [":extras_gen"],
)
docker_build(
name = "generated_tarball",
tars = [
":extras",
],
)
docker_build(
name = "with_env",
base = ":base_with_volume",
env = {
"foo": "/asdf",
"bar": "blah blah blah",
},
)
docker_build(
name = "with_double_env",
base = ":with_env",
env = {
"baz": "${foo} $bar",
},
)
docker_build(
name = "link_with_files_base",
base = ":files_base",
symlinks = {
"/usr/bin/java": "/bar",
},
)
# Trying with the 'top' file
py_binary(
name = "strip_top",
srcs = ["strip_top.py"],
deps = ["//tools/build_defs/docker:archive"],
)
[genrule(
name = "notop_" + n,
srcs = [":" + n + ".tar"],
outs = ["notop_%s.tar" % n],
cmd = "$(location :strip_top) $< $@",
tools = [":strip_top"],
) for n in [
"files_base",
"tar_base",
"base_with_entrypoint",
"base_with_volume",
"generated_tarball",
]]
docker_build(
name = "notop_files_with_files_base",
base = ":notop_files_base",
files = ["bar"],
)
docker_build(
name = "notop_tar_with_tar_base",
base = ":notop_tar_base",
tars = ["two.tar"],
)
docker_build(
name = "notop_files_with_tar_base",
base = ":notop_tar_base",
files = ["bar"],
)
docker_build(
name = "notop_tar_with_files_base",
base = ":notop_files_base",
tars = ["two.tar"],
)
docker_build(
name = "notop_derivative_with_shadowed_cmd",
base = ":notop_base_with_entrypoint",
cmd = ["shadowed-arg"],
files = ["foo"],
)
docker_build(
name = "notop_derivative_with_cmd",
base = ":notop_derivative_with_shadowed_cmd",
cmd = [
"arg1",
"arg2",
],
ports = ["80/tcp"],
tars = ["one.tar"],
)
docker_build(
name = "notop_derivative_with_volume",
base = ":notop_base_with_volume",
volumes = [
"/asdf",
"/blah",
],
)
docker_build(
name = "notop_with_env",
base = ":notop_base_with_volume",
env = {
"foo": "/asdf",
"bar": "blah blah blah",
},
)
docker_build(
name = "notop_with_double_env",
base = ":notop_with_env",
env = {
"baz": "${foo} $bar",
},
)
docker_build(
name = "notop_link_with_files_base",
base = ":notop_files_base",
symlinks = {
"/usr/bin/java": "/bar",
},
)