Add a number of Android-related Info objects to recognized Stardoc symbols

These symbols should be added by bootstrap in a future CL, but are currently added without bootstrap. This change provides a hacky workaround until these objects are appropriately added to bootstraps.

RELNOTES: None.
PiperOrigin-RevId: 221354519
diff --git a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
index 7a15a51..53f22de 100644
--- a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
+++ b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
@@ -22,10 +22,26 @@
 import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
 import com.google.devtools.build.lib.events.EventHandler;
 import com.google.devtools.build.lib.skylarkbuildapi.TopLevelBootstrap;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidAssetsInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidBinaryDataInfoApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidBootstrap;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidCcLinkParamsProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDex2OatInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidFeatureFlagSetProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidIdeInfoProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidIdlProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidLibraryAarInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidLibraryResourceClassJarProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidManifestInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidPreDexJarProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidProguardInfoApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidSdkProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.ProguardMappingProviderApi;
+import com.google.devtools.build.lib.skylarkbuildapi.android.UsesDataBindingProviderApi;
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleBootstrap;
 import com.google.devtools.build.lib.skylarkbuildapi.config.ConfigBootstrap;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcBootstrap;
+import com.google.devtools.build.lib.skylarkbuildapi.java.GeneratedExtensionRegistryProviderApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaBootstrap;
 import com.google.devtools.build.lib.skylarkbuildapi.platform.PlatformBootstrap;
 import com.google.devtools.build.lib.skylarkbuildapi.repository.RepositoryBootstrap;
@@ -442,10 +458,33 @@
     platformBootstrap.addBindingsToBuilder(envBuilder);
     repositoryBootstrap.addBindingsToBuilder(envBuilder);
     testingBootstrap.addBindingsToBuilder(envBuilder);
+    addNonBootstrapGlobals(envBuilder);
 
     return GlobalFrame.createForBuiltins(envBuilder.build());
   }
 
+  // TODO(cparsons): Remove this constant by migrating the contained symbols to bootstraps.
+  private static final String[] nonBootstrapGlobals = {"android_data", AndroidDex2OatInfoApi.NAME,
+      AndroidManifestInfoApi.NAME, AndroidAssetsInfoApi.NAME,
+      AndroidLibraryAarInfoApi.NAME, AndroidProguardInfoApi.NAME,
+      AndroidIdlProviderApi.NAME, AndroidIdeInfoProviderApi.NAME,
+      AndroidPreDexJarProviderApi.NAME, UsesDataBindingProviderApi.NAME,
+      AndroidCcLinkParamsProviderApi.NAME, AndroidLibraryResourceClassJarProviderApi.NAME,
+      AndroidSdkProviderApi.NAME, AndroidFeatureFlagSetProviderApi.NAME,
+      ProguardMappingProviderApi.NAME, GeneratedExtensionRegistryProviderApi.NAME,
+      AndroidBinaryDataInfoApi.NAME };
+
+  /**
+   * A hack to add a number of global symbols which are part of the build API but are otherwise
+   * added by Bazel.
+   */
+  // TODO(cparsons): Remove this method by migrating the contained symbols to bootstraps.
+  private static void addNonBootstrapGlobals(ImmutableMap.Builder<String, Object> envBuilder) {
+    for (String global : nonBootstrapGlobals) {
+      envBuilder.put(global, global);
+    }
+  }
+
   private static Environment createEnvironment(EventHandler eventHandler, GlobalFrame globals,
       Map<String, Extension> imports) {
     return Environment.builder(Mutability.create("Skydoc"))