aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/packages
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-04-12 13:59:41 +0000
committerGravatar Lukacs Berki <lberki@google.com>2016-04-13 08:08:43 +0000
commit6cb8d820689ad029a9d0dc4ee1100db9b2d96515 (patch)
tree8cd2592242f96ef77a676ffc23a4d87bb7922336 /scripts/packages
parent75250e614fbfc9d1597ca8d7c7324880690c1e27 (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/BUILD172
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",
+ ]
+]