Update the Proguard compatability command
* Don't accept -outjars - accept --output instead
* Don't turn the Proguard -verbose flag into the R8 internal verbose flag.
Change-Id: Ia6bd307192c40c232e3f57ac93dd38692f77dada
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index a6a1c33..6185825 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -461,7 +461,6 @@
internal.keepAttributes.applyPatterns(proguardConfiguration.getKeepAttributesPatterns());
internal.ignoreMissingClasses |= proguardConfiguration.isIgnoreWarnings();
assert !internal.verbose;
- internal.verbose |= proguardConfiguration.isVerbose();
internal.mainDexKeepRules = mainDexKeepRules;
internal.minimalMainDex = internal.debug;
if (mainDexListOutput != null) {
diff --git a/src/main/java/com/android/tools/r8/compatproguard/CompatProguard.java b/src/main/java/com/android/tools/r8/compatproguard/CompatProguard.java
index 2ea5e56..1ad589f 100644
--- a/src/main/java/com/android/tools/r8/compatproguard/CompatProguard.java
+++ b/src/main/java/com/android/tools/r8/compatproguard/CompatProguard.java
@@ -12,6 +12,16 @@
import java.nio.file.Paths;
import java.util.List;
+/**
+ * Proguard + Dx compatibility interface for r8.
+ *
+ * This should become a mostly drop-in replacement for uses of Proguard followed by Dx.
+ *
+ * It accepts all Proguard flags supported by r8, except -outjars.
+ *
+ * The flag -outjars does not make sense as r8 (like Proguard + Dx) produces Dex output.
+ * For output use --output as for R8 proper.
+ */
public class CompatProguard {
public static class CompatProguardOptions {
public final String output;
@@ -24,7 +34,7 @@
this.proguardConfig = proguardConfig;
}
- public static CompatProguardOptions parse(String[] args) {
+ public static CompatProguardOptions parse(String[] args) throws CompilationException {
String output = null;
int minApi = 1;
ImmutableList.Builder<String> builder = ImmutableList.builder();
@@ -35,8 +45,11 @@
if (arg.charAt(0) == '-') {
if (arg.equals("--min-api")) {
minApi = Integer.valueOf(args[++i]);
- } else if (arg.equals("-outjars")) {
+ } else if (arg.equals("--output")) {
output = args[++i];
+ } else if (arg.equals("-outjars")) {
+ throw new CompilationException(
+ "Proguard argument -outjar is not supported. Use R8 compatible --output flag");
} else {
builder.add(currentLine.toString());
currentLine = new StringBuilder(arg);