Consistent min API level for desugar and dexing

PiperOrigin-RevId: 447922944
diff --git a/src/tools/android/java/com/google/devtools/build/android/r8/CompatDexBuilder.java b/src/tools/android/java/com/google/devtools/build/android/r8/CompatDexBuilder.java
index ef9ea90..68515f1 100644
--- a/src/tools/android/java/com/google/devtools/build/android/r8/CompatDexBuilder.java
+++ b/src/tools/android/java/com/google/devtools/build/android/r8/CompatDexBuilder.java
@@ -243,7 +243,7 @@
     builder
         .setProgramConsumer(consumer)
         .setMode(mode)
-        .setMinApiLevel(13) // H_MR2.
+        .setMinApiLevel(Constants.MIN_API_LEVEL)
         .setDisableDesugaring(true)
         .setIntermediate(true);
     try (InputStream stream = zipFile.getInputStream(classEntry)) {
diff --git a/src/tools/android/java/com/google/devtools/build/android/r8/CompatDx.java b/src/tools/android/java/com/google/devtools/build/android/r8/CompatDx.java
index 3c1162c..cc694e1 100644
--- a/src/tools/android/java/com/google/devtools/build/android/r8/CompatDx.java
+++ b/src/tools/android/java/com/google/devtools/build/android/r8/CompatDx.java
@@ -322,7 +322,7 @@
 
     @Option(
         name = "min-sdk-version",
-        defaultValue = "1",
+        defaultValue = "13", // Same as Constants.MIN_API_LEVEL.
         documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
         effectTags = {OptionEffectTag.UNKNOWN},
         allowMultiple = false,
diff --git a/src/tools/android/java/com/google/devtools/build/android/r8/Constants.java b/src/tools/android/java/com/google/devtools/build/android/r8/Constants.java
new file mode 100644
index 0000000..b9d9fc4
--- /dev/null
+++ b/src/tools/android/java/com/google/devtools/build/android/r8/Constants.java
@@ -0,0 +1,24 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.android.r8;
+
+/** Constants shared by desugaring and dexing. */
+public class Constants {
+  // When changing this also change the defaultValue for min-sdk-version in CompatDx.java,
+  // CoreLibraryDesugaring and Desugar.java. The defaultValue for annotation parameters must be
+  // compile time constants, and a "public final String" value is rejected.
+  public static final int MIN_API_LEVEL = 13;
+
+  private Constants() {}
+}
diff --git a/src/tools/android/java/com/google/devtools/build/android/r8/CoreLibraryDesugar.java b/src/tools/android/java/com/google/devtools/build/android/r8/CoreLibraryDesugar.java
index 9794212..29cf548 100644
--- a/src/tools/android/java/com/google/devtools/build/android/r8/CoreLibraryDesugar.java
+++ b/src/tools/android/java/com/google/devtools/build/android/r8/CoreLibraryDesugar.java
@@ -100,7 +100,7 @@
 
     @Option(
         name = "min_sdk_version",
-        defaultValue = "1",
+        defaultValue = "13", // Same as Constants.MIN_API_LEVEL.
         category = "misc",
         documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
         effectTags = {OptionEffectTag.UNKNOWN},
diff --git a/src/tools/android/java/com/google/devtools/build/android/r8/Desugar.java b/src/tools/android/java/com/google/devtools/build/android/r8/Desugar.java
index 46ba3fd..a589398 100644
--- a/src/tools/android/java/com/google/devtools/build/android/r8/Desugar.java
+++ b/src/tools/android/java/com/google/devtools/build/android/r8/Desugar.java
@@ -149,7 +149,7 @@
 
     @Option(
         name = "min_sdk_version",
-        defaultValue = "1",
+        defaultValue = "13", // Same as Constants.MIN_API_LEVEL.
         category = "misc",
         documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
         effectTags = {OptionEffectTag.UNKNOWN},