| 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"], |
| 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, |
| ) |