Break TestConstants' dependency on Package FactoryBuilderForTesting PackageFactoryForTesting can pull in a lot of deps that a lot of things using TestConstants don't need, so separate it out. We should also do the same thing for TestConstants#processSkyframeExecutorForTesting - I'd prefer to do that separately. Apologies for the comically named class, it's based on the constant that it was created from. RELNOTES: None PiperOrigin-RevId: 302089555
diff --git a/src/test/java/com/google/devtools/build/lib/packages/BUILD b/src/test/java/com/google/devtools/build/lib/packages/BUILD index 0c3c666..dad2ef5 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/BUILD +++ b/src/test/java/com/google/devtools/build/lib/packages/BUILD
@@ -127,6 +127,7 @@ "//src/test/java/com/google/devtools/build/lib/events:testutil", "//src/test/java/com/google/devtools/build/lib/testutil", "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", + "//src/test/java/com/google/devtools/build/lib/testutil:TestPackageFactoryBuilderFactory", "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils", "//src/test/java/com/google/devtools/build/lib/vfs/util", "//third_party:guava",
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/LoadingMock.java b/src/test/java/com/google/devtools/build/lib/packages/util/LoadingMock.java index 8c9b339..297e517 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/LoadingMock.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/LoadingMock.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.skyframe.packages.PackageFactoryBuilderWithSkyframeForTesting; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; /** Create a mock client for the loading phase, as well as a configuration factory. */ @@ -32,7 +33,7 @@ public PackageFactoryBuilderWithSkyframeForTesting getPackageFactoryBuilderForTesting( BlazeDirectories directories) { return (PackageFactoryBuilderWithSkyframeForTesting) - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING.builder(directories); + TestPackageFactoryBuilderFactory.getInstance().builder(directories); } public ConfiguredRuleClassProvider createRuleClassProvider() {
diff --git a/src/test/java/com/google/devtools/build/lib/query2/testutil/BUILD b/src/test/java/com/google/devtools/build/lib/query2/testutil/BUILD index 2add4c4..cb73670 100644 --- a/src/test/java/com/google/devtools/build/lib/query2/testutil/BUILD +++ b/src/test/java/com/google/devtools/build/lib/query2/testutil/BUILD
@@ -42,6 +42,7 @@ "//src/test/java/com/google/devtools/build/lib/testutil", "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils", "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", + "//src/test/java/com/google/devtools/build/lib/testutil:TestPackageFactoryBuilderFactory", "//third_party:guava", "//third_party:junit4", "//third_party:truth",
diff --git a/src/test/java/com/google/devtools/build/lib/query2/testutil/SkyframeQueryHelper.java b/src/test/java/com/google/devtools/build/lib/query2/testutil/SkyframeQueryHelper.java index c6ff097..a3d9172 100644 --- a/src/test/java/com/google/devtools/build/lib/query2/testutil/SkyframeQueryHelper.java +++ b/src/test/java/com/google/devtools/build/lib/query2/testutil/SkyframeQueryHelper.java
@@ -56,6 +56,7 @@ import com.google.devtools.build.lib.skyframe.PrecomputedValue; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.util.AbruptExitException; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.lib.vfs.FileSystem; @@ -302,7 +303,7 @@ protected SkyframeExecutor createSkyframeExecutor(ConfiguredRuleClassProvider ruleClassProvider) { PackageFactory pkgFactory = - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .setEnvironmentExtensions(getEnvironmentExtensions()) .build(ruleClassProvider, fileSystem);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD index 6d36829..6f55423 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
@@ -34,6 +34,7 @@ "//src/test/java/com/google/devtools/build/lib/analysis/util", "//src/test/java/com/google/devtools/build/lib/testutil", "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", + "//src/test/java/com/google/devtools/build/lib/testutil:TestPackageFactoryBuilderFactory", "//third_party:guava", "//third_party:jsr305", "//third_party:junit4",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java index 74cdabc..40c418e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorTest.java
@@ -62,6 +62,7 @@ import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.lib.vfs.Path; @@ -183,7 +184,7 @@ WorkspaceFileValue.WORKSPACE_FILE, new WorkspaceFileFunction( ruleClassProvider, - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(ruleClassProvider, fileSystem), directories,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/AbstractCollectPackagesUnderDirectoryTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/AbstractCollectPackagesUnderDirectoryTest.java index e57cb26..39f05d2 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/AbstractCollectPackagesUnderDirectoryTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/AbstractCollectPackagesUnderDirectoryTest.java
@@ -35,7 +35,7 @@ import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction; import com.google.devtools.build.lib.testutil.MoreAsserts; import com.google.devtools.build.lib.testutil.Scratch; -import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.util.AbruptExitException; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.lib.vfs.FileSystem; @@ -281,7 +281,7 @@ SkyframeExecutor skyframeExecutor = makeSkyframeExecutorFactory() .create( - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(ruleClassProvider, fileSystem), fileSystem,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java index fb9be8f..f9a4488 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.skyframe.ExternalFilesHelper.ExternalFileAction; import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; @@ -120,7 +121,7 @@ WorkspaceFileValue.WORKSPACE_FILE, new WorkspaceFileFunction( TestRuleClassProvider.getRuleClassProvider(), - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(TestRuleClassProvider.getRuleClassProvider(), fs), directories,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD index 1c66855..0ead9ee 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD +++ b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -47,6 +47,7 @@ "//src/test/java/com/google/devtools/build/lib/events:testutil", "//src/test/java/com/google/devtools/build/lib/packages:testutil", "//src/test/java/com/google/devtools/build/lib/testutil", + "//src/test/java/com/google/devtools/build/lib/testutil:TestPackageFactoryBuilderFactory", "//src/test/java/com/google/devtools/build/lib/vfs/util", "//src/test/java/com/google/devtools/build/skyframe:testutil", "//third_party:guava", @@ -132,6 +133,7 @@ "//src/test/java/com/google/devtools/build/lib/testutil", "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils", "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants", + "//src/test/java/com/google/devtools/build/lib/testutil:TestPackageFactoryBuilderFactory", "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils", "//src/test/java/com/google/devtools/build/lib/vfs/util", "//src/test/java/com/google/devtools/build/skyframe:testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java index d173a20..83466ae 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
@@ -53,6 +53,7 @@ import com.google.devtools.build.lib.syntax.StarlarkSemantics; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.Pair; @@ -185,7 +186,7 @@ WorkspaceFileValue.WORKSPACE_FILE, new WorkspaceFileFunction( ruleClassProvider, - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(ruleClassProvider, fs), directories,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java index 3814bff..2f75fb4 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
@@ -50,6 +50,7 @@ import com.google.devtools.build.lib.skyframe.ExternalFilesHelper.ExternalFileAction; import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TimestampGranularityUtils; import com.google.devtools.build.lib.util.io.OutErr; @@ -163,7 +164,7 @@ WorkspaceFileValue.WORKSPACE_FILE, new WorkspaceFileFunction( TestRuleClassProvider.getRuleClassProvider(), - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(TestRuleClassProvider.getRuleClassProvider(), fs), directories,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java index dae3824..5bf03cb 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -81,6 +81,7 @@ import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.testutil.TestPackageFactoryBuilderFactory; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.AbruptExitException; @@ -260,7 +261,7 @@ WorkspaceFileValue.WORKSPACE_FILE, new WorkspaceFileFunction( TestRuleClassProvider.getRuleClassProvider(), - TestConstants.PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING + TestPackageFactoryBuilderFactory.getInstance() .builder(directories) .build(TestRuleClassProvider.getRuleClassProvider(), fileSystem), directories,
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/BUILD b/src/test/java/com/google/devtools/build/lib/testutil/BUILD index c0c38d7..6fb067d 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/BUILD +++ b/src/test/java/com/google/devtools/build/lib/testutil/BUILD
@@ -154,15 +154,24 @@ "TestConstants.java", ], deps = [ - ":PackageFactoryBuilderFactoryForBazelUnitTests", "//src/main/java/com/google/devtools/build/lib:build-base", - "//src/main/java/com/google/devtools/build/lib/packages:builder_factory_for_testing", "//src/main/java/com/google/devtools/build/lib/rules/cpp", "//third_party:guava", ], ) java_library( + name = "TestPackageFactoryBuilderFactory", + srcs = [ + "TestPackageFactoryBuilderFactory.java", + ], + deps = [ + ":PackageFactoryBuilderFactoryForBazelUnitTests", + "//src/main/java/com/google/devtools/build/lib/packages:builder_factory_for_testing", + ], +) + +java_library( name = "PackageFactoryBuilderFactoryForBazelUnitTests", srcs = ["PackageFactoryBuilderFactoryForBazelUnitTests.java"], deps = [
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 108514c..af0322c 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
@@ -17,7 +17,6 @@ import static com.google.devtools.build.lib.rules.cpp.CppRuleClasses.CROSSTOOL_LABEL; import com.google.common.collect.ImmutableList; -import com.google.devtools.build.lib.packages.BuilderFactoryForTesting; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; /** @@ -142,9 +141,6 @@ // TODO(#7849): Remove after flag flip. "--incompatible_use_toolchain_resolution_for_java_rules"); - public static final BuilderFactoryForTesting PACKAGE_FACTORY_BUILDER_FACTORY_FOR_TESTING = - PackageFactoryBuilderFactoryForBazelUnitTests.INSTANCE; - /** Partial query to filter out implicit dependencies of C/C++ rules. */ public static final String CC_DEPENDENCY_CORRECTION = " - deps(" + TOOLS_REPOSITORY + CROSSTOOL_LABEL + ")";
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestPackageFactoryBuilderFactory.java b/src/test/java/com/google/devtools/build/lib/testutil/TestPackageFactoryBuilderFactory.java new file mode 100644 index 0000000..f2d9d6c --- /dev/null +++ b/src/test/java/com/google/devtools/build/lib/testutil/TestPackageFactoryBuilderFactory.java
@@ -0,0 +1,29 @@ +// Copyright 2020 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.lib.testutil; + +import com.google.devtools.build.lib.packages.BuilderFactoryForTesting; + +/** Holds the {@link BuilderFactoryForTesting} to be used by tests. */ +public class TestPackageFactoryBuilderFactory { + + private TestPackageFactoryBuilderFactory() {} + + /** Returns the instance to be used by tests. */ + public static final BuilderFactoryForTesting getInstance() { + return PackageFactoryBuilderFactoryForBazelUnitTests.INSTANCE; + } + +}