aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xscripts/bootstrap/compile.sh1
-rw-r--r--src/main/tools/jdk.BUILD5
-rw-r--r--src/main/tools/jdk.WORKSPACE5
-rwxr-xr-xsrc/test/shell/bazel/test-setup.sh4
-rw-r--r--tools/build_rules/java_rules_skylark.bzl14
-rw-r--r--tools/jdk/BUILD10
6 files changed, 27 insertions, 12 deletions
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index 6f663b6490..25729a410a 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -127,7 +127,6 @@ esac
|| fail "Protobuf compiler not found in ${PROTOC-}"
test -z "$JAVA_HOME" && fail "JDK not found, please set \$JAVA_HOME."
-rm -f tools/jdk/jdk && ln -s "${JAVA_HOME}" tools/jdk/jdk
JAVAC="${JAVA_HOME}/bin/javac"
diff --git a/src/main/tools/jdk.BUILD b/src/main/tools/jdk.BUILD
index 9d0979f254..871fd9e32a 100644
--- a/src/main/tools/jdk.BUILD
+++ b/src/main/tools/jdk.BUILD
@@ -25,6 +25,11 @@ filegroup(
srcs = ["bin/jar"],
)
+filegroup(
+ name = "javac",
+ srcs = ["bin/javac"],
+)
+
BOOTCLASS_JARS = [
"rt.jar",
"resources.jar",
diff --git a/src/main/tools/jdk.WORKSPACE b/src/main/tools/jdk.WORKSPACE
index c26eaa3133..5766f2d636 100644
--- a/src/main/tools/jdk.WORKSPACE
+++ b/src/main/tools/jdk.WORKSPACE
@@ -48,6 +48,11 @@ bind(
)
bind(
+ name = "javac",
+ actual = "@local-jdk//:javac",
+)
+
+bind(
name = "jdk-default",
actual = "@local-jdk//:jdk-default",
)
diff --git a/src/test/shell/bazel/test-setup.sh b/src/test/shell/bazel/test-setup.sh
index 9e14d00862..928b6d2d62 100755
--- a/src/test/shell/bazel/test-setup.sh
+++ b/src/test/shell/bazel/test-setup.sh
@@ -116,10 +116,6 @@ function create_new_workspace() {
ln -s "${singlejar_path}" tools/jdk/SingleJar_deploy.jar
ln -s "${ijar_path}" tools/jdk/ijar
- if [[ -d ${jdk_dir} ]] ; then
- ln -s ${jdk_dir} tools/jdk/jdk
- fi
-
touch WORKSPACE
}
diff --git a/tools/build_rules/java_rules_skylark.bzl b/tools/build_rules/java_rules_skylark.bzl
index 16640e965f..7ca7047b83 100644
--- a/tools/build_rules/java_rules_skylark.bzl
+++ b/tools/build_rules/java_rules_skylark.bzl
@@ -16,8 +16,6 @@ java_filetype = FileType([".java"])
jar_filetype = FileType([".jar"])
srcjar_filetype = FileType([".jar", ".srcjar"])
-JAVA_PATH='tools/jdk/jdk/bin/'
-
def is_windows(config):
return config.fragment(cpp).compiler.startswith("windows_")
@@ -69,7 +67,7 @@ def java_library_impl(ctx):
cmd += "unzip %s -d %s >/dev/null\n" % (file.path, java_output)
if ctx.files.srcs or ctx.files.srcjars:
- cmd += JAVA_PATH + "javac"
+ cmd += ctx.file._javac.path
cmd += " " + " ".join(javac_options)
if compile_time_jars:
cmd += " -classpath '" + cmd_helper.join_paths(path_separator(ctx), compile_time_jars) + "'"
@@ -79,7 +77,7 @@ def java_library_impl(ctx):
# stick them in the root of the jar.
for r in ctx.files.resources:
cmd += "cp %s %s\n" % (r.path, build_output)
- cmd += (JAVA_PATH + "jar cf " + class_jar.path + " -C " + build_output + " .\n" +
+ cmd += (ctx.file._jar.path + " cf " + class_jar.path + " -C " + build_output + " .\n" +
"touch " + build_output + "\n")
ctx.action(
inputs = (sources + compile_time_jars_list + [sources_param_file] +
@@ -113,7 +111,7 @@ def java_binary_impl(ctx):
cmd = "set -e;rm -rf " + build_output + ";mkdir " + build_output + "\n"
for jar in library_result.runtime_jars:
cmd += "unzip -qn " + jar.path + " -d " + build_output + "\n"
- cmd += (JAVA_PATH + "jar cmf " + manifest.path + " " +
+ cmd += (ctx.file._jar.path + " cmf " + manifest.path + " " +
deploy_jar.path + " -C " + build_output + " .\n" +
"touch " + build_output + "\n")
@@ -146,7 +144,7 @@ def java_binary_impl(ctx):
"fi",
"",
- "jvm_bin=%s" % (ctx.file.javabin.path),
+ "jvm_bin=%s" % (ctx.file._java.path),
"if [[ ! -x ${jvm_bin} ]]; then",
" jvm_bin=$(which java)",
"fi",
@@ -190,6 +188,9 @@ def java_import_impl(ctx):
java_library_attrs = {
+ "_java": attr.label(default=Label("//tools/jdk:java"), single_file=True),
+ "_javac": attr.label(default=Label("//tools/jdk:javac"), single_file=True),
+ "_jar": attr.label(default=Label("//tools/jdk:jar"), single_file=True),
"data": attr.label_list(allow_files=True, cfg=DATA_CFG),
"resources": attr.label_list(allow_files=True),
"srcs": attr.label_list(allow_files=java_filetype),
@@ -219,7 +220,6 @@ bootstrap_java_library = rule(
java_binary_attrs_common = java_library_attrs + {
"jvm_flags": attr.string_list(),
"jvm": attr.label(default=Label("//tools/jdk:jdk"), allow_files=True),
- "javabin": attr.label(default=Label("//tools/jdk:java"), single_file=True),
"args": attr.string_list(),
}
diff --git a/tools/jdk/BUILD b/tools/jdk/BUILD
index 4bc736bad5..8e898c4a11 100644
--- a/tools/jdk/BUILD
+++ b/tools/jdk/BUILD
@@ -20,6 +20,16 @@ filegroup(
srcs = ["//external:java"],
)
+filegroup(
+ name = "jar",
+ srcs = ["//external:jar"],
+)
+
+filegroup(
+ name = "javac",
+ srcs = ["//external:javac"],
+)
+
BOOTCLASS_JARS = [
"rt.jar",
"resources.jar",