Add codecs for some stray SkyKeys.

PiperOrigin-RevId: 184177838
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
index 09ce2db..b96e94b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionValue.java
@@ -22,6 +22,8 @@
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.concurrent.BlazeInterners;
+import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.skyframe.SkyFunctionName;
 import java.util.Objects;
 
@@ -49,17 +51,19 @@
     return getStringHelper().add("collection", collection).toString();
   }
 
-  private static final Interner<BuildInfoKeyAndConfig> keyInterner =
-      BlazeInterners.newWeakInterner();
-
   public static BuildInfoKeyAndConfig key(
       BuildInfoFactory.BuildInfoKey key, BuildConfiguration config) {
-    return keyInterner.intern(
-        new BuildInfoKeyAndConfig(key, ConfiguredTargetKey.keyFromConfiguration(config).key));
+    return BuildInfoKeyAndConfig.create(key, ConfiguredTargetKey.keyFromConfiguration(config).key);
   }
 
   /** Key for BuildInfoCollectionValues. */
+  @AutoCodec
   public static class BuildInfoKeyAndConfig extends ActionLookupKey {
+    private static final Interner<BuildInfoKeyAndConfig> keyInterner =
+        BlazeInterners.newWeakInterner();
+    public static final ObjectCodec<BuildInfoKeyAndConfig> CODEC =
+        new BuildInfoCollectionValue_BuildInfoKeyAndConfig_AutoCodec();
+
     private final BuildInfoFactory.BuildInfoKey infoKey;
     private final BuildConfigurationValue.Key configKey;
 
@@ -69,6 +73,12 @@
       this.configKey = Preconditions.checkNotNull(configKey, key);
     }
 
+    @AutoCodec.Instantiator
+    static BuildInfoKeyAndConfig create(
+        BuildInfoFactory.BuildInfoKey infoKey, BuildConfigurationValue.Key configKey) {
+      return keyInterner.intern(new BuildInfoKeyAndConfig(infoKey, configKey));
+    }
+
     @Override
     public SkyFunctionName functionName() {
       return SkyFunctions.BUILD_INFO_COLLECTION;