Ignore option -mergeinterfacesaggressively
Also left TODOs for options that are not yet fully supported.
Bug: 62524562, 37139570, 76377381
Change-Id: Ia1f5299c5843bf79f6b2e9e5782fd8274c98624e
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 91cab92..8eb8e9c 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
@@ -65,6 +65,8 @@
"dontskipnonpubliclibraryclasses",
"dontskipnonpubliclibraryclassmembers",
"invokebasemethod",
+ // TODO(b/62524562): we may support this later.
+ "mergeinterfacesaggressively",
"android");
private static final List<String> IGNORED_CLASS_DESCRIPTOR_OPTIONS = ImmutableList.of(
@@ -72,8 +74,7 @@
"whyarenotsimple");
private static final List<String> WARNED_SINGLE_ARG_OPTIONS = ImmutableList.of(
- // TODO -outjars (http://b/37137994) and -adaptresourcefilecontents (http://b/37139570)
- // should be reported as errors, not just as warnings!
+ // TODO(b/37137994): -outjars should be reported as errors, not just as warnings!
"outjars");
private static final List<String> WARNED_FLAG_OPTIONS = ImmutableList.of(
@@ -338,9 +339,11 @@
} else if (acceptString("adaptclassstrings")) {
parseClassFilter(configurationBuilder::addAdaptClassStringsPattern);
} else if (acceptString("adaptresourcefilenames")) {
+ // TODO(b/76377381): should be report an error until it's fully supported.
parsePathFilter(configurationBuilder::addAdaptResourceFilenames);
} else if (acceptString("adaptresourcefilecontents")) {
parsePathFilter(configurationBuilder::addAdaptResourceFilecontents);
+ // TODO(b/37139570): should be report an error until it's fully supported.
} else if (acceptString("identifiernamestring")) {
configurationBuilder.addRule(parseIdentifierNameStringRule());
} else if (acceptString("if")) {
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 1012421..dd7465f 100644
--- a/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ProguardConfigurationParserTest.java
@@ -1681,6 +1681,17 @@
}
@Test
+ public void parse_mergeinterfaceaggressively() throws Exception {
+ Path proguardConfig = writeTextToTempFile(
+ "-mergeinterfacesaggressively"
+ );
+ ProguardConfigurationParser parser =
+ new ProguardConfigurationParser(new DexItemFactory(), reporter);
+ parser.parse(proguardConfig);
+ verifyParserEndsCleanly();
+ }
+
+ @Test
public void parse_addconfigurationdebugging() throws Exception {
Path proguardConfig = writeTextToTempFile(
"-addconfigurationdebugging"