From 20533176cba443613fe9b73c19523379cc429f4b Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 19 Sep 2023 08:40:00 -0700 Subject: [PATCH] Use MockProtoSupport.setup where protos are used Update MockProtoSupport.setup to always create rules_proto (setupWorskpace call) PiperOrigin-RevId: 566643341 Change-Id: I755044233652597296ddcfd0c8a9ceae2e079efc --- .../lib/packages/util/MockProtoSupport.java | 26 +++++++++++-------- .../rules/cpp/CcStarlarkApiProviderTest.java | 2 +- .../rules/cpp/proto/CcProtoLibraryTest.java | 2 +- .../devtools/build/lib/rules/java/proto/BUILD | 1 + .../StarlarkJavaLiteProtoLibraryTest.java | 11 +++----- .../lib/rules/objc/J2ObjcLibraryTest.java | 3 +-- .../lib/rules/proto/BazelProtoCommonTest.java | 4 +-- .../rules/proto/BazelProtoLibraryTest.java | 2 +- .../rules/proto/ProtoInfoStarlarkApiTest.java | 2 -- .../rules/proto/ProtoLangToolchainTest.java | 1 - 10 files changed, 24 insertions(+), 30 deletions(-) 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 c78e740690b52d..28262363162cbe 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 @@ -39,6 +39,8 @@ private MockProtoSupport() { */ public static void setup(MockToolsConfig config) throws IOException { createNetProto2(config); + setupWorkspace(config); + config.append("tools/proto/toolchains/BUILD"); } /** @@ -198,17 +200,19 @@ private static void createNetProto2(MockToolsConfig config) throws IOException { " srcs = [ 'metadata.go' ])"); } - public static void setupWorkspace(Scratch scratch) throws Exception { - scratch.appendFile( - "WORKSPACE", - "local_repository(", - " name = 'rules_proto',", - " path = 'third_party/rules_proto',", - ")"); - scratch.file("third_party/rules_proto/WORKSPACE"); - scratch.file("third_party/rules_proto/proto/BUILD", "licenses(['notice'])"); - scratch.file( - "third_party/rules_proto/proto/defs.bzl", + public static void setupWorkspace(MockToolsConfig config) throws IOException { + if (TestConstants.PRODUCT_NAME.equals("bazel")) { + config.append( + "WORKSPACE", + "local_repository(", + " name = 'rules_proto',", + " path = 'third_party/bazel_rules/rules_proto',", + ")"); + } + config.create("third_party/bazel_rules/rules_proto/WORKSPACE"); + config.create("third_party/bazel_rules/rules_proto/proto/BUILD", "licenses(['notice'])"); + config.create( + "third_party/bazel_rules/rules_proto/proto/defs.bzl", "def _add_tags(kargs):", " if 'tags' in kargs:", " kargs['tags'] += ['__PROTO_RULES_MIGRATION_DO_NOT_USE_WILL_BREAK__']", diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkApiProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkApiProviderTest.java index 18401afcc7f04d..4c2d5c8dd56bfa 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkApiProviderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkApiProviderTest.java @@ -41,7 +41,7 @@ private CcStarlarkApiInfo getApiForBuiltin(String label) throws Exception { @Before public void setUp() throws Exception { - MockProtoSupport.setupWorkspace(scratch); + MockProtoSupport.setupWorkspace(mockToolsConfig); invalidatePackages(); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java index 271b591d538e2f..232c258aaeea52 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java @@ -55,6 +55,7 @@ public class CcProtoLibraryTest extends BuildViewTestCase { @Before public void setUp() throws Exception { + MockProtoSupport.setup(mockToolsConfig); scratch.file("protobuf/WORKSPACE"); scratch.overwriteFile( "protobuf/BUILD", @@ -78,7 +79,6 @@ public void setUp() throws Exception { " name = 'com_google_protobuf',", " path = 'protobuf',", ")"); - MockProtoSupport.setupWorkspace(scratch); invalidatePackages(); // A dash of magic to re-evaluate the WORKSPACE file. } diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD b/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD index 530babc5920a01..c77b322ab05a70 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD @@ -27,6 +27,7 @@ java_test( "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules", "//src/test/java/com/google/devtools/build/lib/actions/util", "//src/test/java/com/google/devtools/build/lib/analysis/util", + "//src/test/java/com/google/devtools/build/lib/packages:testutil", "//src/test/java/com/google/devtools/build/lib/rules/java:java_compile_action_test_helper", "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils", "//third_party:guava", diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java index 45cb965c456051..09f9ba4492c12d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java @@ -35,6 +35,7 @@ import com.google.devtools.build.lib.packages.Provider; import com.google.devtools.build.lib.packages.StarlarkProvider; import com.google.devtools.build.lib.packages.StructImpl; +import com.google.devtools.build.lib.packages.util.MockProtoSupport; import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider; import com.google.devtools.build.lib.rules.java.JavaCompileAction; import com.google.devtools.build.lib.rules.java.JavaInfo; @@ -59,6 +60,7 @@ public final void setUpMocks() throws Exception { useConfiguration( "--proto_compiler=//proto:compiler", "--proto_toolchain_for_javalite=//tools/proto/toolchains:javalite"); + MockProtoSupport.setup(mockToolsConfig); scratch.file("proto/BUILD", "licenses(['notice'])", "exports_files(['compiler'])"); @@ -67,17 +69,10 @@ public final void setUpMocks() throws Exception { actionsTestUtil = actionsTestUtil(); } - @Before - public final void setupStarlarkRule() throws Exception { - setBuildLanguageOptions( - "--experimental_builtins_injection_override=+java_lite_proto_library", - "--experimental_google_legacy_api"); - } - private void mockToolchains() throws IOException { mockRuntimes(); - scratch.file( + scratch.appendFile( "tools/proto/toolchains/BUILD", "package(default_visibility=['//visibility:public'])", "proto_lang_toolchain(", diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibraryTest.java index 754e22fb144524..91556b3429aa9c 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibraryTest.java @@ -76,7 +76,7 @@ public final void setup() throws Exception { useConfiguration("--proto_toolchain_for_java=//tools/proto/toolchains:java"); - mockToolsConfig.create( + mockToolsConfig.append( "tools/proto/toolchains/BUILD", TestConstants.LOAD_PROTO_LANG_TOOLCHAIN, "package(default_visibility=['//visibility:public'])", @@ -86,7 +86,6 @@ public final void setup() throws Exception { "proto_lang_toolchain(name='java_stubby_compatible13_immutable', " + "command_line = 'dont_care')"); - MockProtoSupport.setupWorkspace(scratch); invalidatePackages(); } } diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java index 39dc3310d2ad06..e4b15301732538 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java @@ -51,10 +51,8 @@ public class BazelProtoCommonTest extends BuildViewTestCase { @Before public final void setup() throws Exception { - MockProtoSupport.setupWorkspace(scratch); - invalidatePackages(); - MockProtoSupport.setup(mockToolsConfig); + invalidatePackages(); scratch.file( "third_party/x/BUILD", diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoLibraryTest.java index 6fecb443298399..bace5876b98158 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoLibraryTest.java @@ -48,9 +48,9 @@ private boolean isThisBazel() { @Before public void setUp() throws Exception { useConfiguration("--proto_compiler=//proto:compiler"); + MockProtoSupport.setup(mockToolsConfig); scratch.file("proto/BUILD", "licenses(['notice'])", "exports_files(['compiler'])"); - MockProtoSupport.setupWorkspace(scratch); invalidatePackages(); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java index 9c4c4bcb2f2872..77796f73fd3ca6 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java @@ -42,8 +42,6 @@ public void setUp() throws Exception { scratch.file("myinfo/myinfo.bzl", "MyInfo = provider()"); scratch.file("myinfo/BUILD"); MockProtoSupport.setup(mockToolsConfig); - - MockProtoSupport.setupWorkspace(scratch); invalidatePackages(); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java index 23daa19494d566..7d1081e6e7536b 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java @@ -36,7 +36,6 @@ public class ProtoLangToolchainTest extends BuildViewTestCase { @Before public void setUp() throws Exception { - MockProtoSupport.setupWorkspace(scratch); MockProtoSupport.setup(mockToolsConfig); useConfiguration("--protocopt=--myflag"); invalidatePackages();