diff options
author | 2016-04-12 13:59:41 +0000 | |
---|---|---|
committer | 2016-04-13 08:08:43 +0000 | |
commit | 6cb8d820689ad029a9d0dc4ee1100db9b2d96515 (patch) | |
tree | 8cd2592242f96ef77a676ffc23a4d87bb7922336 /scripts/packages | |
parent | 75250e614fbfc9d1597ca8d7c7324880690c1e27 (diff) |
Refactor build for JDK 7
Now the JDK 7 tuning happens all in Bazel, removing logic
from the CI script. It uses remote repositories to access
JDK 7 dependencies.
--
Change-Id: Iff590c6642ca5b2343aa15096f8fd837d1c80787
Reviewed-on: https://bazel-review.googlesource.com/#/c/3327
MOS_MIGRATED_REVID=119634530
Diffstat (limited to 'scripts/packages')
-rw-r--r-- | scripts/packages/BUILD | 172 |
1 files changed, 106 insertions, 66 deletions
diff --git a/scripts/packages/BUILD b/scripts/packages/BUILD index 2fba80fed2..86ca34dfa6 100644 --- a/scripts/packages/BUILD +++ b/scripts/packages/BUILD @@ -33,6 +33,13 @@ genrule( ) genrule( + name = "rename-bazel-bin-jdk7", + srcs = ["//src:bazel_jdk7"], + outs = ["jdk7/bazel-real"], + cmd = "cp $< $@", +) + +genrule( name = "rename-bazel-sh", srcs = ["bazel.sh"], outs = ["bazel"], @@ -41,24 +48,49 @@ genrule( load(":self_extract_binary.bzl", "self_extract_binary") -self_extract_binary( - name = "install.sh", - empty_files = ["tools/defaults/BUILD"], - flatten_resources = [ +[ + self_extract_binary( + name = "install%s.sh" % flavour, + empty_files = ["tools/defaults/BUILD"], + flatten_resources = [ + ":bazel-real" + flavour, + ":bazel", + "//scripts:bash_completion", + ], + launcher = ":launcher_bin.sh", + ) + for flavour in [ + "", + "-jdk7", + ] +] + +load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb") + +pkg_tar( + name = "bazel-real-bin", + files = [ ":bazel-real", - ":bazel", - "//scripts:bash_completion", ], - launcher = ":launcher_bin.sh", + mode = "0755", + package_dir = "/usr/bin", + strip_prefix = ".", ) -load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb") +pkg_tar( + name = "bazel-real-bin-jdk7", + files = [ + ":bazel-real-jdk7", + ], + mode = "0755", + package_dir = "/usr/bin", + strip_prefix = "scripts/packages/jdk7/", +) pkg_tar( name = "bazel-bin", files = [ ":bazel", - ":bazel-real", ], mode = "0755", package_dir = "/usr/bin", @@ -87,63 +119,71 @@ pkg_tar( strip_prefix = ".", ) -pkg_tar( - name = "debian-data", - extension = "tar.gz", - deps = [ - ":bazel-bin", - ":bazel-completion", - ":bazel-rc", - ], -) - -genrule( - name = "embedded_label", - srcs = [":debian-data"], - outs = [ - "version.txt", - ], - cmd = - "find . -name stable-status.txt -exec cat '{}' ';'" + - " | grep EMBED_LABEL | cut -d ' ' -f 2-" + - # Debian package manager does not order our rcs correctly, insert a tilde - # Non RC version number are not matched by the regex, example translations: - # 0.1.2 0.1.2 - # 0.1.2rc2 0.1.2~rc2 - # 0.1.2rc2-jdk7 0.1.2~rc2-jdk7 - " | sed -E 's/^([0-9\\.]+)([^0-9\\.].*)$$/\\1~\\2/'" + - " > $@\n", - stamp = 1, -) - -config_setting( - name = "jdk7", - values = {"define": "JAVA_VERSION=1.7"}, -) +[ + pkg_tar( + name = "debian-data" + flavour, + extension = "tar.gz", + deps = [ + ":bazel-real-bin" + flavour, + ":bazel-bin", + ":bazel-completion", + ":bazel-rc", + ], + ) + for flavour in [ + "", + "-jdk7", + ] +] -pkg_deb( - name = "bazel-debian", - architecture = "amd64", - built_using = "bazel (HEAD)", - data = ":debian-data", - depends = select({ - ":jdk7": [ - "java7-jdk | java7-sdk", +[ + genrule( + name = "embedded_label" + flavour, + srcs = [":debian-data"], + outs = [ + "version%s.txt" % flavour, ], - "//conditions:default": [ - "java8-jdk | java8-sdk", + cmd = + "find . -name stable-status.txt -exec cat '{}' ';'" + + " | grep EMBED_LABEL | cut -d ' ' -f 2-" + + # Debian package manager does not order our rcs correctly, insert a tilde + # Non RC version number are not matched by the regex, example translations: + # 0.1.2 0.1.2 + # 0.1.2rc2 0.1.2~rc2 + # 0.1.2rc2-jdk7 0.1.2~rc2-jdk7 + " | sed -E 's/^([0-9\\.]+)([^0-9\\.].*)$$/\\1~\\2/'" + + " > $@\n", + stamp = 1, + ) + for flavour in [ + "", + "-jdk7", + ] +] + +[ + pkg_deb( + name = "bazel-debian" + flavour, + architecture = "amd64", + built_using = "bazel (HEAD)", + data = ":debian-data" + flavour, + depends = [ + "java7-jdk | java7-sdk" if (flavour == "-jdk7") else "java8-jdk | java8-sdk", + "pkg-config", + "zip", + "g++", + "zlib1g-dev", + "unzip", + "bash-completion", ], - }) + [ - "pkg-config", - "zip", - "g++", - "zlib1g-dev", - "unzip", - "bash-completion", - ], - description_file = "debian/description", - homepage = "http://bazel.io", - maintainer = "The Bazel Authors <bazel-dev@googlegroups.com>", - package = "bazel", - version_file = ":version.txt", -) + description_file = "debian/description", + homepage = "http://bazel.io", + maintainer = "The Bazel Authors <bazel-dev@googlegroups.com>", + package = "bazel", + version_file = ":version%s.txt" % flavour, + ) + for flavour in [ + "", + "-jdk7", + ] +] |