Add a flag to allow DEX input to R8

This is a temporary measure to support current use of DEX
input to R8.

Bug: b/237498918
Change-Id: I677397e325e9af895941068b13ec9c4e9f76c315
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index d2ec70f..7498045 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -118,6 +118,8 @@
 
     private final ProguardConfigurationParserOptions.Builder parserOptionsBuilder =
         ProguardConfigurationParserOptions.builder().readEnvironment();
+    private final boolean allowDexInArchive =
+        System.getProperty("com.android.tools.r8.allowDexInputToR8") != null;
 
     // TODO(zerny): Consider refactoring CompatProguardCommandBuilder to avoid subclassing.
     Builder() {
@@ -126,17 +128,17 @@
 
     Builder(DiagnosticsHandler diagnosticsHandler) {
       super(diagnosticsHandler);
-      setIgnoreDexInArchive(true);
+      setIgnoreDexInArchive(!allowDexInArchive);
     }
 
     private Builder(AndroidApp app) {
       super(app);
-      setIgnoreDexInArchive(true);
+      setIgnoreDexInArchive(!allowDexInArchive);
     }
 
     private Builder(AndroidApp app, DiagnosticsHandler diagnosticsHandler) {
       super(app, diagnosticsHandler);
-      setIgnoreDexInArchive(true);
+      setIgnoreDexInArchive(!allowDexInArchive);
     }
 
     // Internal