diff options
author | lberki <lberki@google.com> | 2018-01-08 03:41:51 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-08 03:43:49 -0800 |
commit | fae484ddb382e0048479837015a704291088270c (patch) | |
tree | cf99758d390bc8bc2b3766b7ee912541e58f2cbd /src/test | |
parent | c686a971c0570537568cd1e2af0693d12b4782b7 (diff) |
Remove code that used to support --javabase=<absolute path>.
This is the first step in removing package loading from JvmConfigurationLoader (I didn't want to add the rest into this change because it's technically possible to access ctx.fragments.jvm even though it contains no fields, so removing that is an incompatible change) and it's also possible that removing error reporting from JvmConfigurationLoader causes some subtle changes in behavior.
Baby steps. Now that the hard part is done, there is no need to rush.
RELNOTES: None.
PiperOrigin-RevId: 181143978
Diffstat (limited to 'src/test')
3 files changed, 57 insertions, 9 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java index 4d1086c796..aca42726d5 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java @@ -91,6 +91,10 @@ public final class BazelAnalysisMock extends AnalysisMock { " ijar = ['ijar'],", ")", "java_runtime(name = 'jdk-default', srcs = [])", + "java_runtime_alias(name = 'current_java_runtime')", + // This isn't actually the host runtime, but will do. This way, we don't need to pull in the + // Skylark implementation of the java_host_runtime_alias rule. + "java_runtime_alias(name = 'current_host_java_runtime')", "java_runtime_suite(name = 'jdk', runtimes = {}, default = ':jdk-default')", "java_runtime_suite(name = 'host_jdk', runtimes = {}, default = ':jdk-default')", "filegroup(name='langtools', srcs=['jdk/lib/tools.jar'])", diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java index 4624159196..ad5c73672f 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java @@ -28,6 +28,7 @@ import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar; import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; +import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.vfs.PathFragment; import java.util.ArrayList; import java.util.Collection; @@ -42,6 +43,8 @@ import org.junit.runners.JUnit4; */ @RunWith(JUnit4.class) public class JavaSkylarkApiTest extends BuildViewTestCase { + private static final String HOST_JAVA_RUNTIME_LABEL = TestConstants.TOOLS_REPOSITORY + + "//tools/jdk:current_host_java_runtime"; @Test public void testJavaRuntimeProvider() throws Exception { @@ -69,6 +72,43 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { } @Test + public void testInvalidHostJavabase() throws Exception { + writeBuildFileForJavaToolchain(); + + scratch.file("a/BUILD", + "load(':rule.bzl', 'jrule')", + "filegroup(name='fg')", + "jrule(name='r', srcs=['S.java'])"); + + scratch.file("a/rule.bzl", + "def _impl(ctx):", + " output_jar = ctx.actions.declare_file('lib' + ctx.label.name + '.jar')", + " java_common.compile(", + " ctx,", + " source_files = ctx.files.srcs,", + " output = output_jar,", + " java_toolchain = ctx.attr._java_toolchain,", + " host_javabase = ctx.attr._host_javabase", + " )", + " return struct()", + "jrule = rule(", + " implementation = _impl,", + " outputs = {", + " 'my_output': 'lib%{name}.jar'", + " },", + " attrs = {", + " 'srcs': attr.label_list(allow_files=['.java']),", + " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", + " '_host_javabase': attr.label(default = Label('//a:fg'))", + " },", + " fragments = ['java'])"); + + reporter.removeHandler(failFastHandler); + getConfiguredTarget("//a:r"); + assertContainsEvent("must point to a Java runtime"); + } + + @Test public void testExposesJavaCommonProvider() throws Exception { scratch.file( "java/test/BUILD", @@ -187,7 +227,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { " 'srcs': attr.label_list(allow_files=['.java']),", " 'sourcepath': attr.label_list(allow_files=['.jar']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", - " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))", + " '_host_javabase': attr.label(", + " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))", " },", " fragments = ['java']", ")"); @@ -250,7 +291,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { " 'srcs': attr.label_list(allow_files=['.java']),", " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", - " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))", + " '_host_javabase': attr.label(", + " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))", " },", " fragments = ['java']", ")"); @@ -320,7 +362,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { " 'srcs': attr.label_list(allow_files=['.java']),", " 'deps': attr.label_list(),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", - " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))", + " '_host_javabase': attr.label(", + " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))", " },", " fragments = ['java']", ")"); @@ -370,7 +413,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { " attrs = {", " 'srcs': attr.label_list(allow_files=['.jar']),", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", - " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))", + " '_host_javabase': attr.label(", + " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))", " },", " fragments = ['java']", ")"); @@ -420,7 +464,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { " },", " attrs = {", " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),", - " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))", + " '_host_javabase': attr.label(", + " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))", " },", " fragments = ['java']", ")"); diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh index 852463140f..e19426d36c 100755 --- a/src/test/shell/bazel/bazel_java_test.sh +++ b/src/test/shell/bazel/bazel_java_test.sh @@ -195,7 +195,7 @@ java_custom_library = rule( "exports": attr.label_list(), "resources": attr.label_list(allow_files=True), "_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")), - "_host_javabase": attr.label(default = Label("//tools/defaults:jdk")) + "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime")) }, fragments = ["java"] ) @@ -319,7 +319,7 @@ java_custom_library = rule( "srcs": attr.label_list(allow_files=True), "sourcepath": attr.label_list(), "_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")), - "_host_javabase": attr.label(default = Label("//tools/defaults:jdk")) + "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime")) }, fragments = ["java"] ) @@ -396,7 +396,7 @@ java_custom_library = rule( "srcs": attr.label_list(allow_files=True), "sourcepath": attr.label_list(), "_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")), - "_host_javabase": attr.label(default = Label("//tools/defaults:jdk")) + "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime")) }, fragments = ["java"] ) @@ -1483,4 +1483,3 @@ EOF } run_suite "Java integration tests" - |