Rename TopLevelArtifactProvider to OutputGroupProvider.

--
MOS_MIGRATED_REVID=87596401
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 600afdf..a84bb94 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -752,10 +752,10 @@
       Collection<ConfiguredTarget> configuredTargets) {
     NestedSetBuilder<Artifact> baselineCoverageArtifacts = NestedSetBuilder.stableOrder();
     for (ConfiguredTarget target : configuredTargets) {
-      TopLevelArtifactProvider provider = target.getProvider(TopLevelArtifactProvider.class);
+      OutputGroupProvider provider = target.getProvider(OutputGroupProvider.class);
       if (provider != null) {
         baselineCoverageArtifacts.addTransitive(provider.getOutputGroup(
-            TopLevelArtifactProvider.BASELINE_COVERAGE
+            OutputGroupProvider.BASELINE_COVERAGE
         ));
       }
     }
@@ -790,8 +790,8 @@
       Collection<ConfiguredTarget> targetsToTestExclusive, TopLevelArtifactContext topLevelOptions,
       Collection<ConfiguredTarget> allTestTargets) {
     Set<String> outputGroups = topLevelOptions.outputGroups();
-    if (!outputGroups.contains(TopLevelArtifactProvider.FILES_TO_COMPILE)
-        && !outputGroups.contains(TopLevelArtifactProvider.COMPILATION_PREREQUISITES)
+    if (!outputGroups.contains(OutputGroupProvider.FILES_TO_COMPILE)
+        && !outputGroups.contains(OutputGroupProvider.COMPILATION_PREREQUISITES)
         && allTestTargets != null) {
       scheduleTests(targetsToTest, targetsToTestExclusive, allTestTargets,
           topLevelOptions.runTestsExclusively());
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java
similarity index 96%
rename from src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactProvider.java
rename to src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java
index 5b46cc2..40ba247 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java
@@ -35,7 +35,7 @@
  * not mentioned on the output.
  */
 @Immutable
-public final class TopLevelArtifactProvider implements TransitiveInfoProvider {
+public final class OutputGroupProvider implements TransitiveInfoProvider {
 
   /**
    * Prefix for output groups that are not reported to the user on the terminal output of Blaze when
@@ -87,7 +87,7 @@
 
   private final ImmutableMap<String, NestedSet<Artifact>> outputGroups;
 
-  TopLevelArtifactProvider(ImmutableMap<String, NestedSet<Artifact>> outputGroups) {
+  OutputGroupProvider(ImmutableMap<String, NestedSet<Artifact>> outputGroups) {
     this.outputGroups = outputGroups;
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
index cf57d70..b6f4bfe 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTargetBuilder.java
@@ -100,7 +100,7 @@
     if (runfilesSupport != null) {
       // If a binary is built, build its runfiles, too
       addOutputGroup(
-          TopLevelArtifactProvider.HIDDEN_TOP_LEVEL, runfilesSupport.getRunfilesMiddleman());
+          OutputGroupProvider.HIDDEN_TOP_LEVEL, runfilesSupport.getRunfilesMiddleman());
     } else if (providers.get(RunfilesProvider.class) != null) {
       // If we don't have a RunfilesSupport (probably because this is not a binary rule), we still
       // want to build the files this rule contributes to runfiles of dependent rules so that we
@@ -109,7 +109,7 @@
       // Note that this is a best-effort thing: there is .getDataRunfiles() and all the language-
       // specific *RunfilesProvider classes, which we don't add here for reasons that are lost in
       // the mists of time.
-      addOutputGroup(TopLevelArtifactProvider.HIDDEN_TOP_LEVEL,
+      addOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL,
           ((RunfilesProvider) providers.get(RunfilesProvider.class))
               .getDefaultRunfiles().getAllArtifacts());
     }
@@ -127,7 +127,7 @@
         outputGroups.put(entry.getKey(), entry.getValue().build());
       }
 
-      add(TopLevelArtifactProvider.class, new TopLevelArtifactProvider(outputGroups.build()));
+      add(OutputGroupProvider.class, new OutputGroupProvider(outputGroups.build()));
     }
 
 
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
index 8a431a6..54edf02 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
@@ -109,23 +109,23 @@
     NestedSetBuilder<Artifact> importantBuilder = NestedSetBuilder.stableOrder();
     NestedSetBuilder<Artifact> allBuilder = NestedSetBuilder.stableOrder();
 
-    TopLevelArtifactProvider topLevelArtifactProvider =
-        target.getProvider(TopLevelArtifactProvider.class);
+    OutputGroupProvider outputGroupProvider =
+        target.getProvider(OutputGroupProvider.class);
 
     for (String outputGroup : context.outputGroups()) {
       NestedSet<Artifact> results = null;
 
-      if (outputGroup.equals(TopLevelArtifactProvider.DEFAULT)) {
+      if (outputGroup.equals(OutputGroupProvider.DEFAULT)) {
         FileProvider fileProvider = target.getProvider(FileProvider.class);
         if (fileProvider != null) {
           results = fileProvider.getFilesToBuild();
         }
-      } else if (topLevelArtifactProvider != null) {
-        results = topLevelArtifactProvider.getOutputGroup(outputGroup);
+      } else if (outputGroupProvider != null) {
+        results = outputGroupProvider.getOutputGroup(outputGroup);
       }
 
       if (results != null) {
-        if (outputGroup.startsWith(TopLevelArtifactProvider.HIDDEN_OUTPUT_GROUP_PREFIX)) {
+        if (outputGroup.startsWith(OutputGroupProvider.HIDDEN_OUTPUT_GROUP_PREFIX)) {
           allBuilder.addTransitive(results);
         } else {
           importantBuilder.addTransitive(results);
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
index c9133d0..a29a556 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
@@ -22,8 +22,8 @@
 import com.google.common.collect.ImmutableSortedSet;
 import com.google.devtools.build.lib.Constants;
 import com.google.devtools.build.lib.analysis.BuildView;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
 import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.pkgcache.LoadingPhaseRunner;
@@ -509,9 +509,9 @@
 
   private ImmutableSortedSet<String> determineOutputGroups() {
     Set<String> current = new HashSet<>();
-    current.add(TopLevelArtifactProvider.TEMP_FILES);
-    current.add(TopLevelArtifactProvider.HIDDEN_TOP_LEVEL);
-    current.add(TopLevelArtifactProvider.DEFAULT);
+    current.add(OutputGroupProvider.TEMP_FILES);
+    current.add(OutputGroupProvider.HIDDEN_TOP_LEVEL);
+    current.add(OutputGroupProvider.DEFAULT);
 
     for (String outputGroup : getBuildOptions().outputGroups) {
       if (outputGroup.startsWith("-")) {
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index b114efb..bd48395 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -52,9 +52,9 @@
 import com.google.devtools.build.lib.analysis.FileProvider;
 import com.google.devtools.build.lib.analysis.InputFileConfiguredTarget;
 import com.google.devtools.build.lib.analysis.OutputFileConfiguredTarget;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
 import com.google.devtools.build.lib.analysis.TopLevelArtifactHelper;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.ViewCreationFailedException;
 import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
@@ -699,10 +699,10 @@
 
       // For failed compilation, it is still useful to examine temp artifacts,
       // (ie, preprocessed and assembler files).
-      TopLevelArtifactProvider topLevelProvider =
-          target.getProvider(TopLevelArtifactProvider.class);
+      OutputGroupProvider topLevelProvider =
+          target.getProvider(OutputGroupProvider.class);
       if (topLevelProvider != null) {
-        for (Artifact temp : topLevelProvider.getOutputGroup(TopLevelArtifactProvider.TEMP_FILES)) {
+        for (Artifact temp : topLevelProvider.getOutputGroup(OutputGroupProvider.TEMP_FILES)) {
           if (temp.getPath().exists()) {
             outErr.printErrLn("  See temp at " +
                 OutputDirectoryLinksUtils.getPrettyPath(temp.getPath(),
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
index 7b9a461..c44aac0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -24,13 +24,13 @@
 import com.google.devtools.build.lib.actions.ParameterFile;
 import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.Runfiles;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
 import com.google.devtools.build.lib.analysis.RunfilesSupport;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.Util;
 import com.google.devtools.build.lib.analysis.actions.FileWriteAction;
@@ -308,7 +308,7 @@
         .addProvider(LipoContextProvider.class, new LipoContextProvider(
             cppCompilationContext, ImmutableMap.copyOf(scannableMap)))
         .addProvider(CppLinkAction.Context.class, linkContext)
-        .addOutputGroup(TopLevelArtifactProvider.BASELINE_COVERAGE,
+        .addOutputGroup(OutputGroupProvider.BASELINE_COVERAGE,
             createBaselineCoverageArtifacts(ruleContext, common, ccCompilationOutputs, fake))
         .build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java
index 64bd28e..b265d23 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java
@@ -23,10 +23,10 @@
 import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
 import com.google.devtools.build.lib.analysis.AnalysisUtils;
 import com.google.devtools.build.lib.analysis.FileProvider;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
 import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -714,10 +714,10 @@
             instrumentedObjectFiles))
         .add(CppDebugFileProvider.class, new CppDebugFileProvider(
             dwoArtifacts.getDwoArtifacts(), dwoArtifacts.getPicDwoArtifacts()))
-        .addOutputGroup(TopLevelArtifactProvider.TEMP_FILES, getTemps(ccCompilationOutputs))
-        .addOutputGroup(TopLevelArtifactProvider.FILES_TO_COMPILE,
+        .addOutputGroup(OutputGroupProvider.TEMP_FILES, getTemps(ccCompilationOutputs))
+        .addOutputGroup(OutputGroupProvider.FILES_TO_COMPILE,
             NestedSetBuilder.wrap(Order.STABLE_ORDER, getFilesToCompile(ccCompilationOutputs)))
-        .addOutputGroup(TopLevelArtifactProvider.COMPILATION_PREREQUISITES,
+        .addOutputGroup(OutputGroupProvider.COMPILATION_PREREQUISITES,
             collectCompilationPrerequisites(ruleContext, cppCompilationContext));
 
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
index 50654e6..fa74a3a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -20,12 +20,12 @@
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.Runfiles;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
@@ -265,8 +265,8 @@
         .add(CppRunfilesProvider.class, new CppRunfilesProvider(staticRunfiles, sharedRunfiles))
         .add(ImplementedCcPublicLibrariesProvider.class,
             new ImplementedCcPublicLibrariesProvider(getImplementedCcPublicLibraries(ruleContext)))
-        .addOutputGroup(TopLevelArtifactProvider.HIDDEN_TOP_LEVEL, artifactsToForce)
-        .addOutputGroup(TopLevelArtifactProvider.BASELINE_COVERAGE, BaselineCoverageAction
+        .addOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL, artifactsToForce)
+        .addOutputGroup(OutputGroupProvider.BASELINE_COVERAGE, BaselineCoverageAction
                 .getBaselineCoverageArtifacts(ruleContext,
                     instrumentedFilesProvider.getInstrumentedFiles()));
 
@@ -278,10 +278,10 @@
     NestedSetBuilder<Artifact> artifactsToForceBuilder = NestedSetBuilder.stableOrder();
     artifactsToForceBuilder.addTransitive(
         NestedSetBuilder.wrap(Order.STABLE_ORDER, common.getFilesToCompile(ccCompilationOutputs)));
-    for (TopLevelArtifactProvider dep :
-        ruleContext.getPrerequisites("deps", Mode.TARGET, TopLevelArtifactProvider.class)) {
+    for (OutputGroupProvider dep :
+        ruleContext.getPrerequisites("deps", Mode.TARGET, OutputGroupProvider.class)) {
       artifactsToForceBuilder.addTransitive(
-          dep.getOutputGroup(TopLevelArtifactProvider.HIDDEN_TOP_LEVEL));
+          dep.getOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL));
     }
     return artifactsToForceBuilder.build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
index 7170335..9e31b97 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
@@ -23,11 +23,11 @@
 import com.google.devtools.build.lib.analysis.AnalysisUtils;
 import com.google.devtools.build.lib.analysis.FileProvider;
 import com.google.devtools.build.lib.analysis.LanguageDependentFragment;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.Runfiles;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
@@ -648,10 +648,10 @@
         dwoArtifacts.getDwoArtifacts(), dwoArtifacts.getPicDwoArtifacts()));
     providers.put(TransitiveLipoInfoProvider.class, collectTransitiveLipoInfo(ccOutputs));
     Map<String, NestedSet<Artifact>> outputGroups = new TreeMap<>();
-    outputGroups.put(TopLevelArtifactProvider.TEMP_FILES, getTemps(ccOutputs));
+    outputGroups.put(OutputGroupProvider.TEMP_FILES, getTemps(ccOutputs));
     if (emitCompileProviders) {
-      outputGroups.put(TopLevelArtifactProvider.FILES_TO_COMPILE, getFilesToCompile(ccOutputs));
-      outputGroups.put(TopLevelArtifactProvider.COMPILATION_PREREQUISITES,
+      outputGroups.put(OutputGroupProvider.FILES_TO_COMPILE, getFilesToCompile(ccOutputs));
+      outputGroups.put(OutputGroupProvider.COMPILATION_PREREQUISITES,
           CcCommon.collectCompilationPrerequisites(ruleContext, cppCompilationContext));
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
index 54f0976..4b7ffac 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
@@ -27,10 +27,10 @@
 import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
 import com.google.devtools.build.lib.analysis.AnalysisUtils;
 import com.google.devtools.build.lib.analysis.FileProvider;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
 import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
 import com.google.devtools.build.lib.analysis.Util;
@@ -488,10 +488,10 @@
         .add(InstrumentedFilesProvider.class, new InstrumentedFilesProviderImpl(
             instrumentedFilesCollector))
         .add(JavaExportsProvider.class, new JavaExportsProvider(collectTransitiveExports()))
-        .addOutputGroup(TopLevelArtifactProvider.FILES_TO_COMPILE, getFilesToCompile(classJar));
+        .addOutputGroup(OutputGroupProvider.FILES_TO_COMPILE, getFilesToCompile(classJar));
 
     if (!TargetUtils.isTestRule(ruleContext.getTarget())) {
-      builder.addOutputGroup(TopLevelArtifactProvider.BASELINE_COVERAGE,
+      builder.addOutputGroup(OutputGroupProvider.BASELINE_COVERAGE,
           BaselineCoverageAction.getBaselineCoverageArtifacts(ruleContext,
               instrumentedFilesCollector.getInstrumentedFiles()));
     }
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
index 094add6..0f384b6 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
@@ -16,7 +16,7 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
 import com.google.devtools.build.lib.buildtool.BuildRequest;
 import com.google.devtools.build.lib.buildtool.BuildResult;
@@ -77,7 +77,7 @@
       if (optionsParser.getOptions(BuildConfiguration.Options.class).collectCodeCoverage) {
         optionsParser.parse(OptionPriority.SOFTWARE_REQUIREMENT,
             "baseline coverage artifacts are built with running tests with coverage collection",
-            ImmutableList.of("--output_groups=" + TopLevelArtifactProvider.BASELINE_COVERAGE));
+            ImmutableList.of("--output_groups=" + OutputGroupProvider.BASELINE_COVERAGE));
       }
     } catch (OptionsParsingException e) {
       throw new IllegalStateException("Known options failed to parse", e);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
index a801f0e..41793bf 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
@@ -41,9 +41,9 @@
 import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
 import com.google.devtools.build.lib.analysis.BlazeDirectories;
 import com.google.devtools.build.lib.analysis.BuildInfoHelper;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
 import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Key;
 import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildInfoKey;
@@ -72,7 +72,7 @@
   public static final TopLevelArtifactContext TOP_LEVEL_ARTIFACT_CONTEXT =
       new TopLevelArtifactContext(
           /*runTestsExclusively=*/false,
-          /*outputGroups=*/ImmutableSortedSet.of(TopLevelArtifactProvider.DEFAULT));
+          /*outputGroups=*/ImmutableSortedSet.of(OutputGroupProvider.DEFAULT));
 
   /**
    * An {@link AnalysisEnvironment} implementation that collects the actions registered.
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 2e316b9..d1b99e7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -51,12 +51,12 @@
 import com.google.devtools.build.lib.analysis.FileProvider;
 import com.google.devtools.build.lib.analysis.FilesToRunProvider;
 import com.google.devtools.build.lib.analysis.LabelAndConfiguration;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.Runfiles;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
 import com.google.devtools.build.lib.analysis.RunfilesSupport;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
 import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
 import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
@@ -1091,7 +1091,7 @@
 
   protected NestedSet<Artifact> getOutputGroup(
       TransitiveInfoCollection target, String outputGroup) {
-    TopLevelArtifactProvider provider = target.getProvider(TopLevelArtifactProvider.class);
+    OutputGroupProvider provider = target.getProvider(OutputGroupProvider.class);
     return provider == null
         ? NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER)
         : provider.getOutputGroup(outputGroup);
@@ -1364,8 +1364,8 @@
   protected Iterable<String> baselineCoverageArtifactBasenames(ConfiguredTarget target)
       throws Exception {
     Artifact baselineCoverage = Iterables.getOnlyElement(target
-        .getProvider(TopLevelArtifactProvider.class)
-        .getOutputGroup(TopLevelArtifactProvider.BASELINE_COVERAGE));
+        .getProvider(OutputGroupProvider.class)
+        .getOutputGroup(OutputGroupProvider.BASELINE_COVERAGE));
     BaselineCoverageAction baselineAction =
         (BaselineCoverageAction) getGeneratingAction(baselineCoverage);
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
index 0d931f4..ce7bb41 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
@@ -15,7 +15,7 @@
 
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
-import com.google.devtools.build.lib.analysis.TopLevelArtifactProvider;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
 
 /**
  * Common code for unit tests that validate --compile_only behavior.
@@ -23,7 +23,7 @@
 public abstract class CompileOnlyTestCase extends BuildViewTestCase {
 
   protected Artifact getArtifactByExecPathSuffix(ConfiguredTarget target, String path) {
-    for (Artifact artifact : getOutputGroup(target, TopLevelArtifactProvider.FILES_TO_COMPILE)) {
+    for (Artifact artifact : getOutputGroup(target, OutputGroupProvider.FILES_TO_COMPILE)) {
       if (artifact.getExecPathString().endsWith(path)) {
         return artifact;
       }