| package(default_visibility = ["//scripts/packages:__subpackages__"]) | |
| filegroup( | |
| name = "srcs", | |
| srcs = glob(["**"]) + [ | |
| "//scripts/packages/debian:srcs", | |
| "//scripts/packages/fedora:srcs", | |
| ], | |
| visibility = [ | |
| "//scripts:__pkg__", | |
| "//scripts/packages:__subpackages__", | |
| ], | |
| ) | |
| filegroup( | |
| name = "packages", | |
| srcs = select({ | |
| "//src/conditions:windows": [ | |
| ":zip-bazel-exe", | |
| ":zip-bazel-exe_with_jdk", | |
| ], | |
| "//src/conditions:freebsd": [], | |
| "//src/conditions:darwin": [ | |
| ":with-jdk/install.sh", | |
| ":without-jdk/install.sh", | |
| ":generate-package-info", | |
| ], | |
| "//src/conditions:darwin_x86_64": [ | |
| ":with-jdk/install.sh", | |
| ":without-jdk/install.sh", | |
| ":generate-package-info", | |
| ], | |
| "//conditions:default": [ | |
| ":with-jdk/install.sh", | |
| ":without-jdk/install.sh", | |
| ":generate-package-info", | |
| "//:bazel-distfile", | |
| "//scripts/packages/debian:bazel-debian", | |
| "//scripts/packages/debian:bazel-debian-src", | |
| ], | |
| }), | |
| ) | |
| sh_binary( | |
| name = "package-info-generator", | |
| srcs = ["package_info_generator.sh"], | |
| ) | |
| genrule( | |
| name = "generate-package-info", | |
| outs = ["README.md"], | |
| cmd = "$(location :package-info-generator) $$(find . -name '*status*.txt') >$@", | |
| stamp = 1, | |
| tools = [":package-info-generator"], | |
| ) | |
| [genrule( | |
| name = "zip-bazel-exe" + suffix, | |
| srcs = ["//src:bazel%s.exe" % suffix], | |
| outs = ["bazel%s.zip" % suffix], | |
| cmd = "\n".join([ | |
| "tmpdir=$$(mktemp -d $${TMPDIR:-/tmp}/tmp.XXXXXXXX)", | |
| "trap \"rm -fr $${tmpdir}\" EXIT", | |
| "mv $(SRCS) $${tmpdir}/bazel.exe", | |
| "touch -t 198001010000.00 $${tmpdir}/bazel.exe", | |
| "zip -jq $@ $${tmpdir}/bazel.exe", | |
| ]), | |
| ) for suffix in [ | |
| "", | |
| "_with_jdk", | |
| ]] | |
| genrule( | |
| name = "generate-launcher", | |
| srcs = [ | |
| "template_bin.sh", | |
| ":README.md", | |
| ], | |
| outs = ["launcher_bin.sh"], | |
| cmd = """ | |
| release_info="$$(cat $(location :README.md))" | |
| template="$$(cat $(location template_bin.sh))" | |
| echo "$${template//%release_info%/$${release_info}}" >$@ | |
| """, | |
| ) | |
| genrule( | |
| name = "rename-bazel-bin", | |
| srcs = ["//src:bazel_with_jdk"], | |
| outs = ["with-jdk/bazel-real"], | |
| cmd = "mkdir -p $$(dirname $@); cp $< $@", | |
| ) | |
| genrule( | |
| name = "rename-bazel-bin-without-jdk", | |
| srcs = ["//src:bazel"], | |
| outs = ["without-jdk/bazel-real"], | |
| cmd = "mkdir -p $$(dirname $@); cp $< $@", | |
| ) | |
| genrule( | |
| name = "bazel-sh-with-jdk", | |
| srcs = ["bazel.sh"], | |
| outs = ["with-jdk/bazel"], | |
| cmd = "mkdir -p $$(dirname $@); cp $< $@", | |
| ) | |
| genrule( | |
| name = "bazel-sh-without-jdk", | |
| srcs = ["bazel.sh"], | |
| outs = ["without-jdk/bazel"], | |
| cmd = "mkdir -p $$(dirname $@); cp $< $@", | |
| ) | |
| load(":self_extract_binary.bzl", "self_extract_binary") | |
| [self_extract_binary( | |
| name = "%s/install.sh" % kind, | |
| flatten_resources = [ | |
| ":%s/bazel-real" % kind, | |
| ":%s/bazel" % kind, | |
| "//scripts:bash_completion", | |
| ], | |
| launcher = ":launcher_bin.sh", | |
| ) for kind in ("with-jdk", "without-jdk")] | |
| genrule( | |
| name = "embedded_label", | |
| srcs = [], | |
| outs = [ | |
| "version.txt", | |
| ], | |
| cmd = | |
| "find -L . -name stable-status.txt -exec cat '{}' ';'" + | |
| " | grep EMBED_LABEL | cut -d ' ' -f 2-" + | |
| " > $@\n", | |
| stamp = 1, | |
| ) |