Update rules_java v8.0.0-rc2 & stop exporting the java rules from `@_builtins`
- keeps the native stub definitions for now
- cleanup of the rules & updating to rules_java v8.0.0 will be in a followup
PiperOrigin-RevId: 682810444
Change-Id: I9dee6631697309af157655f0814532506e94cb2e
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
index aaa659e..11e1770 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
@@ -23,7 +23,7 @@
"@rules_cc//cc:srcs",
"@rules_cc//cc/common:srcs",
"@rules_cc//cc/toolchains:srcs",
- "@rules_java//java:rules",
+ "@rules_java//java:for_bazel_tests",
"@rules_java//toolchains:srcs",
"@rules_python//python:defs_bzl",
],
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 9458fab..e1efd57 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
@@ -36,6 +36,7 @@
import com.google.devtools.build.lib.packages.util.MockCcSupport;
import com.google.devtools.build.lib.packages.util.MockGenruleSupport;
import com.google.devtools.build.lib.packages.util.MockPlatformSupport;
+import com.google.devtools.build.lib.packages.util.MockProtoSupport;
import com.google.devtools.build.lib.packages.util.MockPythonSupport;
import com.google.devtools.build.lib.packages.util.MockToolsConfig;
import com.google.devtools.build.lib.rules.repository.RepositoryFunction;
@@ -217,145 +218,147 @@
config.create(
"embedded_tools/tools/jdk/BUILD",
"""
- load(
- ":java_toolchain_alias.bzl",
- "java_host_runtime_alias",
- "java_runtime_alias",
- "java_toolchain_alias",
- )
- load(":launcher_flag_alias.bzl", "launcher_flag_alias")
+load("@rules_java//java:defs.bzl",
+ "java_binary", "java_import", "java_toolchain")
+load(
+ ":java_toolchain_alias.bzl",
+ "java_host_runtime_alias",
+ "java_runtime_alias",
+ "java_toolchain_alias",
+)
+load(":launcher_flag_alias.bzl", "launcher_flag_alias")
- package(default_visibility = ["//visibility:public"])
+package(default_visibility = ["//visibility:public"])
- java_toolchain(
- name = "toolchain",
- bootclasspath = [":bootclasspath"],
- genclass = ["GenClass_deploy.jar"],
- header_compiler = ["turbine_deploy.jar"],
- header_compiler_direct = ["TurbineDirect_deploy.jar"],
- ijar = ["ijar"],
- jacocorunner = ":JacocoCoverage",
- java_runtime = "host_jdk",
- javabuilder = ["JavaBuilder_deploy.jar"],
- singlejar = ["singlejar"],
- source_version = "8",
- target_version = "8",
- )
+java_toolchain(
+ name = "toolchain",
+ bootclasspath = [":bootclasspath"],
+ genclass = ["GenClass_deploy.jar"],
+ header_compiler = ["turbine_deploy.jar"],
+ header_compiler_direct = ["TurbineDirect_deploy.jar"],
+ ijar = ["ijar"],
+ jacocorunner = ":JacocoCoverage",
+ java_runtime = "host_jdk",
+ javabuilder = ["JavaBuilder_deploy.jar"],
+ singlejar = ["singlejar"],
+ source_version = "8",
+ target_version = "8",
+)
- java_toolchain(
- name = "remote_toolchain",
- bootclasspath = [":bootclasspath"],
- genclass = ["GenClass_deploy.jar"],
- header_compiler = ["turbine_deploy.jar"],
- header_compiler_direct = ["TurbineDirect_deploy.jar"],
- ijar = ["ijar"],
- jacocorunner = ":JacocoCoverage",
- java_runtime = "host_jdk",
- javabuilder = ["JavaBuilder_deploy.jar"],
- singlejar = ["singlejar"],
- source_version = "8",
- target_version = "8",
- )
+java_toolchain(
+ name = "remote_toolchain",
+ bootclasspath = [":bootclasspath"],
+ genclass = ["GenClass_deploy.jar"],
+ header_compiler = ["turbine_deploy.jar"],
+ header_compiler_direct = ["TurbineDirect_deploy.jar"],
+ ijar = ["ijar"],
+ jacocorunner = ":JacocoCoverage",
+ java_runtime = "host_jdk",
+ javabuilder = ["JavaBuilder_deploy.jar"],
+ singlejar = ["singlejar"],
+ source_version = "8",
+ target_version = "8",
+)
- java_import(
- name = "JacocoCoverageRunner",
- jars = ["JacocoCoverage_jarjar_deploy.jar"],
- )
+java_import(
+ name = "JacocoCoverageRunner",
+ jars = ["JacocoCoverage_jarjar_deploy.jar"],
+)
- java_import(
- name = "proguard_import",
- jars = ["proguard_rt.jar"],
- )
+java_import(
+ name = "proguard_import",
+ jars = ["proguard_rt.jar"],
+)
- java_binary(
- name = "proguard",
- main_class = "proguard.Proguard",
- runtime_deps = [":proguard_import"],
- )
+java_binary(
+ name = "proguard",
+ main_class = "proguard.Proguard",
+ runtime_deps = [":proguard_import"],
+)
- java_import(
- name = "TestRunner",
- jars = ["TestRunner.jar"],
- )
+java_import(
+ name = "TestRunner",
+ jars = ["TestRunner.jar"],
+)
- java_runtime(
- name = "jdk",
- srcs = [],
- )
+java_runtime(
+ name = "jdk",
+ srcs = [],
+)
- java_runtime(
- name = "host_jdk",
- srcs = [],
- )
+java_runtime(
+ name = "host_jdk",
+ srcs = [],
+)
- java_runtime(
- name = "remote_jdk11",
- srcs = [],
- )
+java_runtime(
+ name = "remote_jdk11",
+ srcs = [],
+)
- java_toolchain_alias(name = "current_java_toolchain")
+java_toolchain_alias(name = "current_java_toolchain")
- java_runtime_alias(name = "current_java_runtime")
+java_runtime_alias(name = "current_java_runtime")
- java_host_runtime_alias(name = "current_host_java_runtime")
+java_host_runtime_alias(name = "current_host_java_runtime")
- filegroup(
- name = "bootclasspath",
- srcs = ["jdk/jre/lib/rt.jar"],
- )
+filegroup(
+ name = "bootclasspath",
+ srcs = ["jdk/jre/lib/rt.jar"],
+)
- filegroup(
- name = "extdir",
- srcs = glob(
- ["jdk/jre/lib/ext/*"],
- allow_empty = True,
- ),
- )
+filegroup(
+ name = "extdir",
+ srcs = glob(
+ ["jdk/jre/lib/ext/*"],
+ allow_empty = True,
+ ),
+)
- filegroup(
- name = "java",
- srcs = ["jdk/jre/bin/java"],
- )
+filegroup(
+ name = "java",
+ srcs = ["jdk/jre/bin/java"],
+)
- filegroup(
- name = "JacocoCoverage",
- srcs = ["JacocoCoverage_deploy.jar"],
- )
+filegroup(
+ name = "JacocoCoverage",
+ srcs = ["JacocoCoverage_deploy.jar"],
+)
- exports_files([
- "JavaBuilder_deploy.jar",
- "singlejar",
- "TestRunner_deploy.jar",
- "ijar",
- "GenClass_deploy.jar",
- "turbine_deploy.jar",
- "TurbineDirect_deploy.jar",
- "proguard_allowlister.par",
- ])
+exports_files([
+ "JavaBuilder_deploy.jar",
+ "singlejar",
+ "TestRunner_deploy.jar",
+ "ijar",
+ "GenClass_deploy.jar",
+ "turbine_deploy.jar",
+ "TurbineDirect_deploy.jar",
+ "proguard_allowlister.par",
+])
- toolchain_type(name = "toolchain_type")
+toolchain_type(name = "toolchain_type")
- toolchain_type(name = "runtime_toolchain_type")
+toolchain_type(name = "runtime_toolchain_type")
- toolchain(
- name = "dummy_java_toolchain",
- toolchain = ":toolchain",
- toolchain_type = ":toolchain_type",
- )
+toolchain(
+ name = "dummy_java_toolchain",
+ toolchain = ":toolchain",
+ toolchain_type = ":toolchain_type",
+)
- toolchain(
- name = "dummy_java_runtime_toolchain",
- toolchain = ":jdk",
- toolchain_type = ":runtime_toolchain_type",
- )
+toolchain(
+ name = "dummy_java_runtime_toolchain",
+ toolchain = ":jdk",
+ toolchain_type = ":runtime_toolchain_type",
+)
- java_plugins_flag_alias(name = "java_plugins_flag_alias")
+java_plugins_flag_alias(name = "java_plugins_flag_alias")
- launcher_flag_alias(
- name = "launcher_flag_alias",
- visibility = ["//visibility:public"],
- )
- """);
+launcher_flag_alias(
+ name = "launcher_flag_alias",
+ visibility = ["//visibility:public"],
+)
+""");
config.create(
TestConstants.CONSTRAINTS_PATH + "/android/BUILD",
@@ -372,19 +375,14 @@
// Create the actual SDKs.
config.create(
"embedded_tools/src/tools/android/java/com/google/devtools/build/android/r8/BUILD",
- "java_library(name='r8')\n");
+ """
+ filegroup(name='r8', srcs = [])
+ """);
config.create(
"android_gmaven_r8/jar/BUILD",
"""
- java_import(
- name = "jar",
- jars = ["r8.jar"],
- )
-
- filegroup(
- name = "file",
- srcs = [],
- )
+ filegroup(name = "jar", srcs = ["r8.jar"])
+ filegroup(name = "file", srcs = [])
""");
config.create("android_gmaven_r8/WORKSPACE");
@@ -686,7 +684,7 @@
packages = ["public"],
)
""");
-
+ MockProtoSupport.setupWorkspace(config);
MockPlatformSupport.setup(config);
ccSupport().setup(config);
javaSupport().setupRulesJava(config, runfiles::rlocation);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AbstractMockJavaSupport.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AbstractMockJavaSupport.java
index d93584d..bfed88e 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AbstractMockJavaSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AbstractMockJavaSupport.java
@@ -13,14 +13,10 @@
// limitations under the License.
package com.google.devtools.build.lib.analysis.util;
-import static java.nio.charset.StandardCharsets.UTF_8;
-import com.google.common.collect.ImmutableList;
-import com.google.common.io.MoreFiles;
import com.google.devtools.build.lib.packages.util.MockToolsConfig;
+import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.util.function.Function;
public abstract class AbstractMockJavaSupport {
@@ -32,36 +28,20 @@
MockToolsConfig config, Function<String, String> runfilesResolver) throws IOException {
config.create("rules_java_workspace/WORKSPACE", "workspace(name = 'rules_java')");
config.create("rules_java_workspace/MODULE.bazel", "module(name = 'rules_java')");
- config.create("rules_java_workspace/java/BUILD");
- config.create("rules_java_workspace/java/common/BUILD");
- config.create("rules_java_workspace/java/private/BUILD");
- config.create("rules_java_workspace/java/toolchains/BUILD");
- config.create("rules_java_workspace/toolchains/BUILD");
- ImmutableList<String> toolsToCopy =
- ImmutableList.of(
- "java/defs.bzl",
- "java/java_binary.bzl",
- "java/java_import.bzl",
- "java/java_library.bzl",
- "java/java_plugin.bzl",
- "java/java_test.bzl",
- "java/common/java_common.bzl",
- "java/common/java_info.bzl",
- "java/common/java_plugin_info.bzl",
- "java/private/native.bzl",
- "java/toolchains/java_package_configuration.bzl",
- "java/toolchains/java_runtime.bzl",
- "java/toolchains/java_toolchain.bzl",
- "toolchains/java_toolchain_alias.bzl");
- for (String relativePath : toolsToCopy) {
- Path path = Path.of(runfilesResolver.apply("rules_java/" + relativePath));
- if (Files.exists(path)) {
- config.create(
- "rules_java_workspace/" + relativePath,
- MoreFiles.asCharSource(path, UTF_8).read());
- }
- }
+ PathFragment rulesJavaRoot =
+ PathFragment.create(runfilesResolver.apply("rules_java/java/defs.bzl"))
+ .getParentDirectory()
+ .getParentDirectory();
+ config.copyDirectory(
+ rulesJavaRoot.getRelative("java"),
+ "rules_java_workspace/java",
+ Integer.MAX_VALUE,
+ true);
+ config.copyTool(
+ rulesJavaRoot.getRelative("toolchains/java_toolchain_alias.bzl"),
+ "rules_java_workspace/toolchains/java_toolchain_alias.bzl");
// mocks
+ config.create("rules_java_workspace/toolchains/BUILD");
config.create(
"rules_java_workspace/toolchains/local_java_repository.bzl",
"""
@@ -70,7 +50,7 @@
""");
config.create(
"rules_java_workspace/toolchains/jdk_build_file.bzl", "JDK_BUILD_TEMPLATE = ''");
- config.create(
+ config.overwrite(
"rules_java_workspace/java/repositories.bzl",
"""
def rules_java_dependencies():
@@ -81,7 +61,7 @@
native.register_toolchains("//java/toolchains/javac:all")
""");
- config.create(
+ config.overwrite(
"rules_java_workspace/java/toolchains/runtime/BUILD",
"""
toolchain_type(name = "toolchain_type")
@@ -92,7 +72,7 @@
toolchain_type = "@rules_java//java/toolchains/runtime:toolchain_type",
)
""");
- config.create(
+ config.overwrite(
"rules_java_workspace/java/toolchains/javac/BUILD",
"""
toolchain_type(name = "toolchain_type")
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
index eea00ba..ee05d29 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
@@ -473,5 +473,11 @@
toolchain = name,
)
""");
+ config.create("protobuf_workspace/bazel/common/BUILD");
+ config.create(
+ "protobuf_workspace/bazel/common/proto_info.bzl",
+ """
+ ProtoInfo = provider()
+ """);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
index 1045324..72d2046 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
@@ -155,6 +155,7 @@
public static final ImmutableList<String> PRODUCT_SPECIFIC_BUILD_LANG_OPTIONS =
ImmutableList.of(
+ "--experimental_rule_extension_api",
// Don't apply autoloads in unit tests, because not all repos are available
"--incompatible_autoload_externally=");