Move the remaining state from BuildView to SkyframeBuildView.

--
MOS_MIGRATED_REVID=104009600
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 05c8377..08b5d66 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
@@ -214,8 +214,6 @@
   // Same as skyframeExecutor.getPackageManager().
   private final LoadedPackageProvider packageManager;
 
-  private BuildConfigurationCollection configurations;
-
   private final ConfiguredRuleClassProvider ruleClassProvider;
 
   /**
@@ -223,12 +221,6 @@
    */
   @Nullable private final CoverageReportActionFactory coverageReportActionFactory;
 
-  /**
-   * If the last build was executed with {@code Options#discard_analysis_cache} and we are not
-   * running Skyframe full, we should clear the legacy data since it is out-of-sync.
-   */
-  private boolean skyframeAnalysisWasDiscarded;
-
   @VisibleForTesting
   public Set<SkyKey> getSkyframeEvaluatedTargetKeysForTesting() {
     return skyframeBuildView.getEvaluatedTargetKeys();
@@ -264,8 +256,7 @@
    */
   @VisibleForTesting
   public void setConfigurationsForTesting(BuildConfigurationCollection configurations) {
-    this.configurations = configurations;
-    skyframeBuildView.setTopLevelHostConfiguration(configurations.getHostConfiguration());
+    skyframeBuildView.setConfigurations(configurations);
   }
 
   public ArtifactFactory getArtifactFactory() {
@@ -560,19 +551,7 @@
     Collection<Target> targets = loadingResult.getTargets();
     eventBus.post(new AnalysisPhaseStartedEvent(targets));
 
-    // Clear all cached ConfiguredTargets on configuration change.
-    // TODO(ulfjack): Can we remove this now?
-    //
-    // Also if --discard_analysis_cache was used in the last build we want to clear the legacy
-    // data.
-    if ((this.configurations != null && !configurations.equals(this.configurations))
-        || skyframeAnalysisWasDiscarded) {
-      LOG.info("Discarding analysis cache: configurations have changed.");
-      skyframeExecutor.dropConfiguredTargets();
-    }
-    skyframeAnalysisWasDiscarded = false;
-    this.configurations = configurations;
-    skyframeBuildView.setTopLevelHostConfiguration(this.configurations.getHostConfiguration());
+    skyframeBuildView.setConfigurations(configurations);
 
     // Determine the configurations.
     List<TargetAndConfiguration> nodes = nodesForTargets(configurations, targets);
@@ -1008,8 +987,6 @@
    * @see BuildView.Options#discardAnalysisCache
    */
   public void clearAnalysisCache(Collection<ConfiguredTarget> topLevelTargets) {
-    // TODO(bazel-team): Consider clearing packages too to save more memory.
-    skyframeAnalysisWasDiscarded = true;
-    skyframeExecutor.clearAnalysisCache(topLevelTargets);
+    skyframeBuildView.clearAnalysisCache(topLevelTargets);
   }
 }