Revert "Add 11-char unique build ID to marker and Proguard map."

This reverts commit 45ba73ee4b6833e689ae2d4ad41f9355a08f697f.

Reason for revert: Intentional nondeterminism breaks tests.

Bug: 123428923

Change-Id: Id4977baa9e4510626349329678b8e283e40a35e6
diff --git a/src/main/java/com/android/tools/r8/D8.java b/src/main/java/com/android/tools/r8/D8.java
index e920ad3..466a26f 100644
--- a/src/main/java/com/android/tools/r8/D8.java
+++ b/src/main/java/com/android/tools/r8/D8.java
@@ -148,12 +148,10 @@
     if (options.testing.dontCreateMarkerInD8) {
       return null;
     }
-    Marker marker =
-        new Marker(Tool.D8)
-            .setVersion(Version.LABEL)
-            .setCompilationMode(options.debug ? CompilationMode.DEBUG : CompilationMode.RELEASE)
-            .setMinApi(options.minApiLevel)
-            .setBuildId(options.buildId);
+    Marker marker = new Marker(Tool.D8)
+        .setVersion(Version.LABEL)
+        .setCompilationMode(options.debug ? CompilationMode.DEBUG : CompilationMode.RELEASE)
+        .setMinApi(options.minApiLevel);
     if (Version.isDev()) {
       marker.setSha1(VersionProperties.INSTANCE.getSha());
     }
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 36d4cf7..75b0c81 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -169,14 +169,10 @@
     if (options.hasMarker()) {
       return options.getMarker();
     }
-    Marker marker =
-        new Marker(Tool.R8)
-            .setVersion(Version.LABEL)
-            .setCompilationMode(options.debug ? CompilationMode.DEBUG : CompilationMode.RELEASE)
-            .setBuildId(options.buildId);
-    if (!options.isGeneratingClassFiles()) {
-      marker.setMinApi(options.minApiLevel);
-    }
+    Marker marker = new Marker(Tool.R8)
+        .setVersion(Version.LABEL)
+        .setCompilationMode(options.debug ? CompilationMode.DEBUG : CompilationMode.RELEASE)
+        .setMinApi(options.minApiLevel);
     if (Version.isDev()) {
       marker.setSha1(VersionProperties.INSTANCE.getSha());
     }
@@ -633,7 +629,8 @@
               namingLens,
               options.lineNumberOptimization == LineNumberOptimization.OFF);
       timing.end();
-      proguardMapSupplier = ProguardMapSupplier.fromClassNameMapper(classNameMapper, options);
+      proguardMapSupplier =
+          ProguardMapSupplier.fromClassNameMapper(classNameMapper, options.minApiLevel);
 
       // If a method filter is present don't produce output since the application is likely partial.
       if (options.hasMethodsFilter()) {
diff --git a/src/main/java/com/android/tools/r8/dex/Marker.java b/src/main/java/com/android/tools/r8/dex/Marker.java
index 41270da..3d977f6 100644
--- a/src/main/java/com/android/tools/r8/dex/Marker.java
+++ b/src/main/java/com/android/tools/r8/dex/Marker.java
@@ -21,7 +21,6 @@
   public static final String MIN_API = "min-api";
   public static final String SHA1 = "sha-1";
   public static final String COMPILATION_MODE = "compilation-mode";
-  public static final String BUILD_ID = "build-id";
 
   public enum Tool {D8, R8}
 
@@ -94,16 +93,6 @@
     return this;
   }
 
-  public String getBuildId() {
-    return jsonObject.get(BUILD_ID).getAsString();
-  }
-
-  public Marker setBuildId(String uuid) {
-    assert !jsonObject.has(BUILD_ID);
-    jsonObject.addProperty(BUILD_ID, uuid);
-    return this;
-  }
-
   @Override
   public String toString() {
     // In order to make printing of markers deterministic we sort the entries by key.
diff --git a/src/main/java/com/android/tools/r8/naming/ProguardMapSupplier.java b/src/main/java/com/android/tools/r8/naming/ProguardMapSupplier.java
index d905116..5ee5891 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapSupplier.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapSupplier.java
@@ -5,7 +5,6 @@
 
 import com.android.tools.r8.Version;
 import com.android.tools.r8.graph.DexApplication;
-import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.VersionProperties;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -19,38 +18,39 @@
   public static final String MARKER_KEY_COMPILER_VERSION = "compiler_version";
   public static final String MARKER_KEY_COMPILER_HASH = "compiler_hash";
   public static final String MARKER_KEY_MIN_API = "min_api";
-  public static final String MARKER_KEY_BUILD_ID = "build_id";
 
   public static ProguardMapSupplier fromClassNameMapper(
-      ClassNameMapper classNameMapper, InternalOptions options) {
-    return new ProguardMapSupplier(true, classNameMapper, null, null, options);
+      ClassNameMapper classNameMapper, int minApiLevel) {
+    return new ProguardMapSupplier(classNameMapper, minApiLevel);
   }
 
   public static ProguardMapSupplier fromNamingLens(
-      NamingLens namingLens, DexApplication dexApplication, InternalOptions options) {
-    return new ProguardMapSupplier(false, null, namingLens, dexApplication, options);
+      NamingLens namingLens, DexApplication dexApplication, int minApiLevel) {
+    return new ProguardMapSupplier(namingLens, dexApplication, minApiLevel);
   }
 
-  public ProguardMapSupplier(
-      boolean useClassNameMapper,
-      ClassNameMapper classNameMapper,
-      NamingLens namingLens,
-      DexApplication application,
-      InternalOptions options) {
-    this.useClassNameMapper = useClassNameMapper;
+  private ProguardMapSupplier(ClassNameMapper classNameMapper, int minApiLevel) {
+    this.useClassNameMapper = true;
     this.classNameMapper = classNameMapper;
+    this.namingLens = null;
+    this.application = null;
+    this.minApiLevel = minApiLevel;
+  }
+
+  private ProguardMapSupplier(
+      NamingLens namingLens, DexApplication dexApplication, int minApiLevel) {
+    this.useClassNameMapper = false;
+    this.classNameMapper = null;
     this.namingLens = namingLens;
-    this.application = application;
-    this.minApiLevel = options.isGeneratingClassFiles() ? null : options.minApiLevel;
-    this.buildId = options.buildId;
+    this.application = dexApplication;
+    this.minApiLevel = minApiLevel;
   }
 
   private final boolean useClassNameMapper;
   private final ClassNameMapper classNameMapper;
   private final NamingLens namingLens;
   private final DexApplication application;
-  private final Integer minApiLevel;
-  private final String buildId;
+  private final int minApiLevel;
 
   public String get() {
     String body = getBody();
@@ -61,23 +61,23 @@
     if (Version.isDev()) {
       shaLine = "# " + MARKER_KEY_COMPILER_HASH + ": " + VersionProperties.INSTANCE.getSha() + "\n";
     }
-    StringBuilder builder = new StringBuilder();
-    builder.append(
-        "# "
-            + MARKER_KEY_COMPILER
-            + ": "
-            + MARKER_VALUE_COMPILER
-            + "\n"
-            + "# "
-            + MARKER_KEY_COMPILER_VERSION
-            + ": "
-            + Version.LABEL
-            + "\n");
-    if (minApiLevel != null) {
-      builder.append("# " + MARKER_KEY_MIN_API + ": " + minApiLevel + "\n");
-    }
-    builder.append(shaLine + "# " + MARKER_KEY_BUILD_ID + ": " + buildId + "\n" + body);
-    return builder.toString();
+    return "# "
+        + MARKER_KEY_COMPILER
+        + ": "
+        + MARKER_VALUE_COMPILER
+        + "\n"
+        + "# "
+        + MARKER_KEY_COMPILER_VERSION
+        + ": "
+        + Version.LABEL
+        + "\n"
+        + "# "
+        + MARKER_KEY_MIN_API
+        + ": "
+        + minApiLevel
+        + "\n"
+        + shaLine
+        + body;
   }
 
   private String getBody() {
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 09f2ef7..3997982 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -28,16 +28,13 @@
 import com.android.tools.r8.utils.IROrdering.NondeterministicIROrdering;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
-import java.nio.ByteBuffer;
 import java.nio.file.Path;
 import java.util.ArrayList;
-import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
-import java.util.UUID;
 import java.util.function.Consumer;
 
 public class InternalOptions {
@@ -66,19 +63,6 @@
   public final List<DataResourceProvider> dataResourceProviders = new ArrayList<>();
   public DataResourceConsumer dataResourceConsumer;
 
-  // Generate 11-char unique random string using the UUID generator.
-  private static String generateBuildId() {
-    UUID uuid = UUID.randomUUID();
-    return Base64.getEncoder()
-        .withoutPadding()
-        .encodeToString(
-            ByteBuffer.allocate(8)
-                .putLong(uuid.getLeastSignificantBits() ^ uuid.getMostSignificantBits())
-                .array());
-  }
-
-  public final String buildId = generateBuildId();
-
   // Constructor for testing and/or other utilities.
   public InternalOptions() {
     reporter = new Reporter();
diff --git a/src/test/java/com/android/tools/r8/ExtractMarkerTest.java b/src/test/java/com/android/tools/r8/ExtractMarkerTest.java
index 48482f8..6a47607 100644
--- a/src/test/java/com/android/tools/r8/ExtractMarkerTest.java
+++ b/src/test/java/com/android/tools/r8/ExtractMarkerTest.java
@@ -4,36 +4,24 @@
 package com.android.tools.r8;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertTrue;
 
 import com.android.tools.r8.dex.Marker;
 import com.android.tools.r8.dex.Marker.Tool;
-import com.android.tools.r8.utils.InternalOptions;
 import java.nio.file.Paths;
 import java.util.Collection;
 import java.util.Set;
 import org.junit.Test;
 
 public class ExtractMarkerTest {
-  private static final String CLASS_FILE =
-      ToolHelper.EXAMPLES_BUILD_DIR + "classes/trivial/Trivial.class";
-
-  private static void verifyMarker(Marker marker, Tool tool) {
-    assertEquals(tool, marker.getTool());
-    assertEquals(Version.LABEL, marker.getVersion());
-    assertEquals(CompilationMode.DEBUG.toString().toLowerCase(), marker.getCompilationMode());
-    String anotherBuildId = new InternalOptions().buildId;
-    assertNotEquals(anotherBuildId, marker.getBuildId());
-  }
 
   @Test
   public void extractMarkerTestDex() throws CompilationFailedException {
+    String classFile = ToolHelper.EXAMPLES_BUILD_DIR + "classes/trivial/Trivial.class";
     boolean[] testExecuted = {false};
-
     D8.run(
         D8Command.builder()
-            .addProgramFiles(Paths.get(CLASS_FILE))
+            .addProgramFiles(Paths.get(classFile))
             .setProgramConsumer(
                 new DexIndexedConsumer.ForwardingConsumer(null) {
                   @Override
@@ -51,7 +39,11 @@
                     } catch (Exception e) {
                       throw new RuntimeException(e);
                     }
-                    verifyMarker(marker, Tool.D8);
+                    assertEquals(Tool.D8, marker.getTool());
+                    assertEquals(Version.LABEL, marker.getVersion());
+                    assertEquals(
+                        CompilationMode.DEBUG.toString().toLowerCase(),
+                        marker.getCompilationMode());
                     testExecuted[0] = true;
                   }
                 })
@@ -61,10 +53,11 @@
 
   @Test
   public void extractMarkerTestCf() throws CompilationFailedException {
+    String classFile = ToolHelper.EXAMPLES_BUILD_DIR + "classes/trivial/Trivial.class";
     boolean[] testExecuted = {false};
     R8.run(
         R8Command.builder()
-            .addProgramFiles(Paths.get(CLASS_FILE))
+            .addProgramFiles(Paths.get(classFile))
             .addLibraryFiles(ToolHelper.getJava8RuntimeJar())
             .setMode(CompilationMode.DEBUG)
             .setDisableTreeShaking(true)
@@ -82,7 +75,11 @@
                     } catch (Exception e) {
                       throw new RuntimeException(e);
                     }
-                    verifyMarker(marker, Tool.R8);
+                    assertEquals(Tool.R8, marker.getTool());
+                    assertEquals(Version.LABEL, marker.getVersion());
+                    assertEquals(
+                        CompilationMode.DEBUG.toString().toLowerCase(),
+                        marker.getCompilationMode());
                     testExecuted[0] = true;
                   }
                 })
diff --git a/src/test/java/com/android/tools/r8/ProguardMapMarkerTest.java b/src/test/java/com/android/tools/r8/ProguardMapMarkerTest.java
index a3dedd9..6310054 100644
--- a/src/test/java/com/android/tools/r8/ProguardMapMarkerTest.java
+++ b/src/test/java/com/android/tools/r8/ProguardMapMarkerTest.java
@@ -6,125 +6,55 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
 
-import com.android.tools.r8.dex.Marker;
 import com.android.tools.r8.naming.ProguardMapSupplier;
 import com.android.tools.r8.utils.AndroidApiLevel;
 import com.android.tools.r8.utils.VersionProperties;
 import java.nio.file.Paths;
-import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 import org.junit.Test;
 
 public class ProguardMapMarkerTest {
-  private static final int EXPECTED_NUMBER_OF_KEYS_DEX = 5;
-  private static final int EXPECTED_NUMBER_OF_KEYS_CF = 4;
-  private static final String CLASS_FILE =
-      ToolHelper.EXAMPLES_BUILD_DIR + "classes/trivial/Trivial.class";
-
   @Test
   public void proguardMapMarkerTest24() throws CompilationFailedException {
-    proguardMapMarkerTestDex(AndroidApiLevel.N);
+    proguardMapMarkerTest(AndroidApiLevel.N);
   }
 
   @Test
   public void proguardMapMarkerTest26() throws CompilationFailedException {
-    proguardMapMarkerTestDex(AndroidApiLevel.O);
+    proguardMapMarkerTest(AndroidApiLevel.O);
   }
 
-  private static class BuildIds {
-    String fromProgram = null;
-    String fromMap = null;
-  }
-
-  private void proguardMapMarkerTestDex(AndroidApiLevel minApiLevel)
-      throws CompilationFailedException {
-    BuildIds buildIds = new BuildIds();
+  private void proguardMapMarkerTest(AndroidApiLevel minApiLevel) throws CompilationFailedException {
+    String classFile = ToolHelper.EXAMPLES_BUILD_DIR + "classes/trivial/Trivial.class";
     R8.run(
         R8Command.builder()
-            .addProgramFiles(Paths.get(CLASS_FILE))
-            .setDisableTreeShaking(true)
+            .addProgramFiles(Paths.get(classFile))
             .setProgramConsumer(
-                new DexIndexedConsumer.ForwardingConsumer(null) {
+                new DexIndexedConsumer() {
                   @Override
                   public void accept(
                       int fileIndex,
                       ByteDataView data,
                       Set<String> descriptors,
-                      DiagnosticsHandler handler) {
-                    Marker marker;
-                    try {
-                      Collection<Marker> markers =
-                          ExtractMarker.extractMarkerFromDexProgramData(data.copyByteData());
-                      assertEquals(1, markers.size());
-                      marker = markers.iterator().next();
-                    } catch (Exception e) {
-                      throw new RuntimeException(e);
-                    }
-                    buildIds.fromProgram = marker.getBuildId();
-                  }
+                      DiagnosticsHandler handler) {}
+
+                  @Override
+                  public void finished(DiagnosticsHandler handler) {}
                 })
             .addLibraryFiles(ToolHelper.getAndroidJar(minApiLevel))
             .setMinApiLevel(minApiLevel.getLevel())
             .setProguardMapConsumer(
                 (proguardMap, handler) -> {
-                  buildIds.fromMap =
-                      verifyMarkersGetBuildId(
-                          proguardMap, minApiLevel.getLevel(), EXPECTED_NUMBER_OF_KEYS_DEX);
+                  verifyMarkers(proguardMap, minApiLevel.getLevel());
                 })
             .build());
-    verifyBuildIds(buildIds);
   }
 
-  private void verifyBuildIds(BuildIds buildIds) {
-    assertTrue(buildIds.fromProgram != null && buildIds.fromProgram.length() > 0);
-    assertTrue(buildIds.fromMap != null && buildIds.fromMap.length() > 0);
-    assertEquals(buildIds.fromMap, buildIds.fromProgram);
-  }
-
-  @Test
-  public void proguardMapMarkerTestCf() throws CompilationFailedException {
-    BuildIds buildIds = new BuildIds();
-    R8.run(
-        R8Command.builder()
-            .addProgramFiles(Paths.get(CLASS_FILE))
-            .setDisableTreeShaking(true)
-            .setProgramConsumer(
-                new ClassFileConsumer.ForwardingConsumer(null) {
-                  @Override
-                  public void accept(
-                      ByteDataView data, String descriptor, DiagnosticsHandler handler) {
-                    Marker marker;
-                    try {
-                      Collection<Marker> markers =
-                          ExtractMarker.extractMarkerFromClassProgramData(data.copyByteData());
-                      assertEquals(1, markers.size());
-                      marker = markers.iterator().next();
-                    } catch (Exception e) {
-                      throw new RuntimeException(e);
-                    }
-                    buildIds.fromProgram = marker.getBuildId();
-                  }
-                })
-            .addLibraryFiles(ToolHelper.getJava8RuntimeJar())
-            .setProguardMapConsumer(
-                (proguardMap, handler) -> {
-                  buildIds.fromMap =
-                      verifyMarkersGetBuildId(proguardMap, null, EXPECTED_NUMBER_OF_KEYS_CF);
-                })
-            .build());
-    verifyBuildIds(buildIds);
-  }
-
-  private static String verifyMarkersGetBuildId(
-      String proguardMap, Integer minApiLevel, int expectedNumberOfKeys) {
+  private static void verifyMarkers(String proguardMap, int minApiLevel) {
     String[] lines = proguardMap.split("\n");
     Set<String> keysFound = new HashSet<>();
-    String buildId = null;
     for (String line : lines) {
       if (!line.startsWith("#")) {
         continue;
@@ -141,20 +71,14 @@
       } else if (key.equals(ProguardMapSupplier.MARKER_KEY_COMPILER_VERSION)) {
         assertEquals(Version.LABEL, value);
       } else if (key.equals(ProguardMapSupplier.MARKER_KEY_MIN_API)) {
-        assertNotNull(minApiLevel);
-        assertEquals(minApiLevel.intValue(), Integer.parseInt(value));
+        assertEquals(minApiLevel, Integer.parseInt(value));
       } else if (key.equals(ProguardMapSupplier.MARKER_KEY_COMPILER_HASH)) {
         assertEquals(VersionProperties.INSTANCE.getSha(), value);
-      } else if (key.equals(ProguardMapSupplier.MARKER_KEY_BUILD_ID)) {
-        assertNull(buildId);
-        buildId = value;
       } else {
         continue;
       }
       assertFalse(keysFound.contains(key));
       keysFound.add(key);
     }
-    assertEquals(expectedNumberOfKeys, keysFound.size());
-    return buildId;
   }
 }