Dump proguard.config for L8 when shrinking
Bug: 185768810
Change-Id: I1a5838045c8fac977bcd45dcdf4d2a6403c93ba0
diff --git a/src/main/java/com/android/tools/r8/L8Command.java b/src/main/java/com/android/tools/r8/L8Command.java
index 27108a1..af10925 100644
--- a/src/main/java/com/android/tools/r8/L8Command.java
+++ b/src/main/java/com/android/tools/r8/L8Command.java
@@ -430,6 +430,9 @@
private DumpOptions dumpOptions() {
DumpOptions.Builder builder = DumpOptions.builder(Tool.L8);
dumpBaseCommandOptions(builder);
+ if (r8Command != null) {
+ builder.setProguardConfiguration(r8Command.getInternalOptions().getProguardConfiguration());
+ }
return builder.setDesugaredLibraryConfiguration(libraryConfiguration).build();
}
}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
index ea80848..03f861b 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/DesugaredLibraryDumpInputsTest.java
@@ -5,6 +5,7 @@
import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import com.android.tools.r8.TestParameters;
@@ -122,7 +123,17 @@
assertTrue(Files.exists(unzipped.resolve("program.jar")));
assertTrue(Files.exists(unzipped.resolve("library.jar")));
assertTrue(Files.exists(unzipped.resolve("desugared-library.json")));
- assertTrue(Files.exists(unzipped.resolve("build.properties")));
+ Path buildPropertiesPath = unzipped.resolve("build.properties");
+ assertTrue(Files.exists(buildPropertiesPath));
+ List<String> buildProperties = Files.readAllLines(buildPropertiesPath);
+ assertTrue(buildProperties.get(0).startsWith("tool="));
+ boolean isD8 = buildProperties.get(0).equals("tool=D8");
+ boolean isR8 = buildProperties.get(0).equals("tool=R8");
+ if ((shrinkDesugaredLibrary || isR8) && !isD8) {
+ assertTrue(Files.exists(unzipped.resolve("proguard.config")));
+ } else {
+ assertFalse(Files.exists(unzipped.resolve("proguard.config")));
+ }
}
static class TestClass {