aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2015-06-15 15:55:34 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-06-16 13:58:46 +0000
commit075b39d85a5e5aaf82a83dc07d2ea7ca7385a47f (patch)
tree7a47e7b72fe1596d6c7bffe84e9e426345b29ffb /src
parent65f422376467aa2369e2e1a7bb0ba8fc2e69393b (diff)
Set-up travis OSX to compile using JDK 7
This is introducing a few changes to use the Java compiler from errorprone: - add the --java_langtools flag to the shell tests so we do the tests with the same java compiler tooling than Bazel, and - added the langtools the bootclasspath of the JavaBuilder tests. - tagged some tests and deactivated them on travis OSX because they either requires Java 8 or a lot of disk space. To do the same change on a local install, one must: - change the source and target versions to 7 in the tools/jdk:toolchain target, - use the .travis/jdk7.WORKSPACE file instead of the default Bazel workspace (it contains a maven_jar refering to the errorprone's java compiler tools), and - set the JAVA_VERSION environent variable to "1.7". The .travis/build.sh script does just that when under OS X. -- Change-Id: Idb466cf47cf7df35a34fb0dd8d186628aae0cba7 Reviewed-on: https://bazel-review.googlesource.com/#/c/1520/ MOS_MIGRATED_REVID=96011123
Diffstat (limited to 'src')
-rw-r--r--src/java_tools/buildjar/BUILD14
-rw-r--r--src/java_tools/singlejar/BUILD1
-rw-r--r--src/test/shell/bazel/BUILD10
-rwxr-xr-xsrc/test/shell/bazel/test-setup.sh1
-rwxr-xr-xsrc/test/shell/bazel/testenv.sh9
5 files changed, 33 insertions, 2 deletions
diff --git a/src/java_tools/buildjar/BUILD b/src/java_tools/buildjar/BUILD
index 5e41759ba1..073272b16a 100644
--- a/src/java_tools/buildjar/BUILD
+++ b/src/java_tools/buildjar/BUILD
@@ -150,13 +150,27 @@ java_library(
deps = [":BazelJavaCompiler"],
)
+# For the -Xbootclasspath option of the java_test of buildjar
+genrule(
+ name = "langtools-test",
+ testonly = 1,
+ srcs = ["//tools/defaults:java_langtools"],
+ outs = ["langtools-test.jar"],
+ cmd = "cp $< $@",
+)
+
java_test(
name = "BazelJavaCompilerTest",
size = "small",
srcs = ["javatests/com/google/devtools/build/java/bazel/BazelJavaCompilerTest.java"],
args = ["com.google.devtools.build.java.bazel.BazelJavaCompilerTest"],
+ jvm_flags = [
+ # Simulates how Bazel invokes JavaBuilder
+ "-Xbootclasspath/p:$${TEST_SRCDIR}/src/java_tools/buildjar/langtools-test.jar",
+ ],
deps = [
":BazelJavaCompiler",
+ ":langtools-test",
"//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
diff --git a/src/java_tools/singlejar/BUILD b/src/java_tools/singlejar/BUILD
index 8d3685c7d2..ac52119e29 100644
--- a/src/java_tools/singlejar/BUILD
+++ b/src/java_tools/singlejar/BUILD
@@ -50,6 +50,7 @@ java_test(
name = "zipTests",
srcs = glob(["javatests/**/zip/**/*.java"]),
args = ["com.google.devtools.build.zip.ZipTests"],
+ tags = ["zip"],
deps = [
":zip",
"//src/test/java:testutil",
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index 12a9bdd259..f0acdba47a 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -1,16 +1,24 @@
package(default_visibility = ["//visibility:private"])
+genrule(
+ name = "langtools-copy",
+ testonly = 1,
+ srcs = ["//tools/defaults:java_langtools"],
+ outs = ["langtools.jar"],
+ cmd = "cp $< $@",
+)
+
filegroup(
name = "test-deps",
testonly = 1,
srcs = [
"test-setup.sh",
"testenv.sh",
+ ":langtools-copy",
"//examples:srcs",
"//external:bootclasspath",
"//external:extdir",
"//external:jdk-default",
- "//external:langtools",
"//src:bazel",
"//src/java_tools/buildjar:JavaBuilder_deploy.jar",
"//src/java_tools/singlejar:SingleJar_deploy.jar",
diff --git a/src/test/shell/bazel/test-setup.sh b/src/test/shell/bazel/test-setup.sh
index da2d715088..d71507d90d 100755
--- a/src/test/shell/bazel/test-setup.sh
+++ b/src/test/shell/bazel/test-setup.sh
@@ -37,6 +37,7 @@ function setup_bazelrc() {
cat >$TEST_TMPDIR/bazelrc <<EOF
startup --output_user_root=${bazel_root}
startup --host_javabase=${bazel_javabase}
+${EXTRA_BAZELRC:-}
EOF
}
diff --git a/src/test/shell/bazel/testenv.sh b/src/test/shell/bazel/testenv.sh
index 47e53179fe..cd81537f79 100755
--- a/src/test/shell/bazel/testenv.sh
+++ b/src/test/shell/bazel/testenv.sh
@@ -30,9 +30,11 @@ bazel_data="${TEST_SRCDIR}"
# Java
jdk_dir="${TEST_SRCDIR}/external/local-jdk"
+langtools="${TEST_SRCDIR}/src/test/shell/bazel/langtools.jar"
# Tools directory location
tools_dir="${TEST_SRCDIR}/tools"
+EXTRA_BAZELRC="build --java_langtools=//tools/jdk:test-langtools"
# Java tooling
javabuilder_path="${TEST_SRCDIR}/src/java_tools/buildjar/JavaBuilder_deploy.jar"
@@ -68,7 +70,12 @@ hamcrest_jar="${TEST_SRCDIR}/third_party/hamcrest/hamcrest-*.jar"
# This function copies the tools directory from Bazel.
function copy_tools_directory() {
- cp -R ${tools_dir}/* tools
+ cp -RL ${tools_dir}/* tools
+ # To support custom langtools
+ cp ${langtools} tools/jdk/langtools.jar
+ cat >>tools/jdk/BUILD <<'EOF'
+filegroup(name = "test-langtools", srcs = ["langtools.jar"])
+EOF
chmod -R +w .
mkdir -p tools/defaults