Ignore -runtype and -laststageoutput Proguard flags
Change-Id: I210c44c924dc6838d874b8edeabf266aac3827e7
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
index 860fc45..d760b93 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
@@ -41,7 +41,7 @@
"optimizationpasses",
"target");
private static final List<String> ignoredOptionalSingleArgOptions = ImmutableList
- .of("keepdirectories");
+ .of("keepdirectories", "runtype", "laststageoutput");
private static final List<String> ignoredFlagOptions = ImmutableList
.of("forceprocessing", "dontusemixedcaseclassnames",
"dontpreverify", "experimentalshrinkunusedprotofields",
diff --git a/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java b/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java
index 52bbda6..4923a27 100644
--- a/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java
@@ -379,4 +379,15 @@
);
parser.parse(proguardConfig);
}
+
+ @Test
+ public void parseCustomFlags() throws Exception {
+ ProguardConfigurationParser parser = new ProguardConfigurationParser(new DexItemFactory());
+ // Custom Proguard flags -runtype and -laststageoutput are ignored.
+ Path proguardConfig = writeTextToTempFile(
+ "-runtype FINAL ",
+ "-laststageoutput /some/file/name "
+ );
+ parser.parse(proguardConfig);
+ }
}