Test serialization of shared D8/R8 build metadata properties
Change-Id: I42d35996f4dd628ff3cde90843155ab71c463c24
diff --git a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsImpl.java b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsImpl.java
index 8402dd9..adc01e3 100644
--- a/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsImpl.java
+++ b/src/main/java/com/android/tools/r8/metadata/impl/D8R8OptionsImpl.java
@@ -45,7 +45,7 @@
InternalOptions options) {
this.apiModelingOptions = apiModelingOptions;
this.libraryDesugaringOptions = libraryDesugaringOptions;
- this.minApiLevel = options.getMinApiLevel().getLevel();
+ this.minApiLevel = options.isGeneratingDex() ? options.getMinApiLevel().getLevel() : -1;
this.isDebugModeEnabled = options.debug;
}
diff --git a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
index 7ff0178..04b401c 100644
--- a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
+++ b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
@@ -7,6 +7,7 @@
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.MatcherAssert.assertThat;
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;
@@ -88,6 +89,10 @@
assertNotNull(buildMetadata.getBaselineProfileRewritingOptions());
assertNotNull(buildMetadata.getOptions());
assertNotNull(buildMetadata.getOptions().getKeepAttributesOptions());
+ assertEquals(
+ parameters.isCfRuntime() ? -1 : parameters.getApiLevel().getLevel(),
+ buildMetadata.getOptions().getMinApiLevel());
+ assertFalse(buildMetadata.getOptions().isDebugModeEnabled());
if (parameters.isDexRuntime()) {
R8ResourceOptimizationOptions resourceOptimizationOptions =
buildMetadata.getResourceOptimizationOptions();