aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar xingao <xingao@google.com>2017-10-23 22:33:20 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-10-24 10:39:51 +0200
commit2fcf7f5a839d56ab508a9e3796aba3928bfcd19f (patch)
tree8c4717a3df9addcade1b709b7b2ce27abd86792d
parent96567c61b1e94b793082e4ce87b8ac40328bcbad (diff)
Add a simple java test using singlejar and ijar's cc_binary targets.
PiperOrigin-RevId: 173162773
-rwxr-xr-xsrc/test/shell/bazel/bazel_java_test.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh
index 3418fc14fd..9509989e0c 100755
--- a/src/test/shell/bazel/bazel_java_test.sh
+++ b/src/test/shell/bazel/bazel_java_test.sh
@@ -208,6 +208,58 @@ function test_build_hello_world() {
bazel build //java/main:main &> $TEST_log || fail "build failed"
}
+# This test builds a simple java deploy jar using a java_toolchain which
+# compiles singlejar and ijar from source.
+function test_build_hello_world_with_customized_java_toolchain() {
+ write_hello_library_files
+
+ mkdir -p java/tools/jdk
+ cat >java/tools/jdk/BUILD <<'EOF'
+java_toolchain(
+ name = "customized_toolchain",
+ bootclasspath = ["@bazel_tools//tools/jdk:bootclasspath"],
+ compatible_javacopts = {
+ # Restrict protos to Java 7 so that they are compatible with Android.
+ "proto": [
+ "-source",
+ "7",
+ "-target",
+ "7",
+ "-XDallowBetterNullChecks=false",
+ ],
+ },
+ encoding = "UTF-8",
+ extclasspath = ["@bazel_tools//tools/jdk:extclasspath"],
+ forcibly_disable_header_compilation = 0,
+ genclass = ["@bazel_tools//tools/jdk:genclass"],
+ header_compiler = ["@bazel_tools//tools/jdk:turbine"],
+ ijar = ["@bazel_tools//third_party/ijar:ijar"],
+ javabuilder = ["@bazel_tools//tools/jdk:javabuilder"],
+ javac = ["//third_party/java/jdk/langtools:javac_jar"],
+ javac_supports_workers = 1,
+ jvm_opts = [
+ "-XX:+TieredCompilation",
+ "-XX:TieredStopAtLevel=1",
+ "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar)",
+ ],
+ misc = [
+ "-XDskipDuplicateBridges=true",
+ "-g",
+ "-parameters",
+ ],
+ singlejar = ["@bazel_tools//src/tools/singlejar:singlejar"],
+ source_version = "8",
+ target_version = "8",
+ visibility = ["//visibility:public"],
+)
+EOF
+
+ bazel build //java/main:main_deploy.jar \
+ --host_java_toolchain=//java/tools/jdk:customized_toolchain \
+ --java_toolchain=//java/tools/jdk:customized_toolchain \
+ &> $TEST_log || fail "build failed"
+}
+
function test_build_with_sourcepath() {
mkdir -p g
cat >g/A.java <<'EOF'