diff options
author | Damien Martin-Guillerez <dmarting@google.com> | 2015-06-15 15:55:34 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-06-16 13:58:46 +0000 |
commit | 075b39d85a5e5aaf82a83dc07d2ea7ca7385a47f (patch) | |
tree | 7a47e7b72fe1596d6c7bffe84e9e426345b29ffb /src | |
parent | 65f422376467aa2369e2e1a7bb0ba8fc2e69393b (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/BUILD | 14 | ||||
-rw-r--r-- | src/java_tools/singlejar/BUILD | 1 | ||||
-rw-r--r-- | src/test/shell/bazel/BUILD | 10 | ||||
-rwxr-xr-x | src/test/shell/bazel/test-setup.sh | 1 | ||||
-rwxr-xr-x | src/test/shell/bazel/testenv.sh | 9 |
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 |