From 2c4dd1f3176371473667c551cd5a5ae5992f8154 Mon Sep 17 00:00:00 2001 From: Philipp Wollermann Date: Thu, 20 Apr 2017 18:35:16 +0200 Subject: Bundled JDK changes for the release process. - Make the default Bazel release artifacts include the bundled JDK. - Create additional Bazel release artifacts without a bundled JDK. Change-Id: If87c986507ae8e7dbbf0e8f163dd0073a206b265 PiperOrigin-RevId: 153718827 --- scripts/ci/build.sh | 6 +++++- scripts/ci/windows/compile_windows.sh | 10 ++++++---- scripts/packages/BUILD | 29 ++++++++++++++++++++--------- scripts/packages/self_extract_binary.bzl | 25 ++++++++++++++----------- 4 files changed, 45 insertions(+), 25 deletions(-) (limited to 'scripts') diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh index 08c7389470..6599e72b80 100755 --- a/scripts/ci/build.sh +++ b/scripts/ci/build.sh @@ -142,7 +142,11 @@ function bazel_build() { # Copy the results to the output directory mkdir -p $1/packages cp bazel-bin/src/bazel $1/bazel - cp bazel-bin/scripts/packages/install.sh $1/bazel-${release_label}-installer.sh + # The version with a bundled JDK may not exist on all platforms. + if [ "${JAVA_VERSION}" = "1.8" -a -e "bazel-bin/scripts/packages/with-jdk/install.sh" ]; then + cp bazel-bin/scripts/packages/with-jdk/install.sh $1/bazel-${release_label}-installer.sh + fi + cp bazel-bin/scripts/packages/without-jdk/install.sh $1/bazel-${release_label}-without-jdk-installer.sh if [ "$PLATFORM" = "linux" ]; then cp bazel-bin/scripts/packages/debian/bazel-debian.deb $1/bazel_${release_label}.deb cp -f bazel-genfiles/scripts/packages/debian/bazel.dsc $1/bazel.dsc diff --git a/scripts/ci/windows/compile_windows.sh b/scripts/ci/windows/compile_windows.sh index 802edaeeaa..4168f551b5 100755 --- a/scripts/ci/windows/compile_windows.sh +++ b/scripts/ci/windows/compile_windows.sh @@ -48,11 +48,13 @@ fi ${BOOTSTRAP_BAZEL} --bazelrc=${BAZELRC:-/dev/null} --nomaster_bazelrc build \ --embed_label=${release_label} --stamp \ ${MSVC_OPTS} \ - //src:bazel + //src:bazel //src:bazel_with_jdk - -# Copy the resulting artifact. +# Copy the resulting artifacts. mkdir -p output/ci -cp bazel-bin/src/bazel output/ci/bazel${MSVC_LABEL}-$(get_full_release_name).exe +cp bazel-bin/src/bazel output/ci/bazel${MSVC_LABEL}-$(get_full_release_name)-without-jdk.exe +cp bazel-bin/src/bazel_with_jdk output/ci/bazel${MSVC_LABEL}-$(get_full_release_name).exe cp bazel-bin/src/bazel output/bazel.exe +zip -j output/ci/bazel${MSVC_LABEL}-$(get_full_release_name)-without-jdk.zip output/bazel.exe +cp -f bazel-bin/src/bazel_with_jdk output/bazel.exe zip -j output/ci/bazel${MSVC_LABEL}-$(get_full_release_name).zip output/bazel.exe diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD index 1ebe901a77..191f2701d7 100644 --- a/scripts/packages/BUILD +++ b/scripts/packages/BUILD @@ -17,16 +17,20 @@ filegroup( srcs = select({ "//src:windows": [], "//src:windows_msvc": [], + "//src:freebsd": [], "//src:darwin": [ - ":install.sh", + ":with-jdk/install.sh", + ":without-jdk/install.sh", ":generate-package-info", ], "//src:darwin_x86_64": [ - ":install.sh", + ":with-jdk/install.sh", + ":without-jdk/install.sh", ":generate-package-info", ], "//conditions:default": [ - ":install.sh", + ":with-jdk/install.sh", + ":without-jdk/install.sh", ":generate-package-info", "//:bazel-distfile", "//scripts/packages/debian:bazel-debian", @@ -64,9 +68,16 @@ genrule( 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 = ["bazel-real"], - cmd = "cp $< $@", + outs = ["without-jdk/bazel-real"], + cmd = "mkdir -p $$(dirname $@); cp $< $@", ) genrule( @@ -78,15 +89,15 @@ genrule( load(":self_extract_binary.bzl", "self_extract_binary") -self_extract_binary( - name = "install.sh", +[self_extract_binary( + name = "%s/install.sh" % kind, flatten_resources = [ - ":bazel-real", + ":%s/bazel-real" % kind, ":bazel", "//scripts:bash_completion", ], launcher = ":launcher_bin.sh", -) +) for kind in ("with-jdk", "without-jdk")] genrule( name = "embedded_label", diff --git a/scripts/packages/self_extract_binary.bzl b/scripts/packages/self_extract_binary.bzl index 425a203b36..75f19279c3 100644 --- a/scripts/packages/self_extract_binary.bzl +++ b/scripts/packages/self_extract_binary.bzl @@ -75,18 +75,21 @@ def _self_extract_binary(ctx): self_extract_binary = rule( _self_extract_binary, - executable = True, attrs = { "launcher": attr.label( - mandatory=True, - allow_files=True, - single_file=True), - "empty_files": attr.string_list(default=[]), + mandatory = True, + allow_files = True, + single_file = True, + ), + "empty_files": attr.string_list(default = []), "resources": attr.label_list( - default=[], - allow_files=True), + default = [], + allow_files = True, + ), "flatten_resources": attr.label_list( - default=[], - allow_files=True), - }, - ) + default = [], + allow_files = True, + ), + }, + executable = True, +) -- cgit v1.2.3