Add support for compiling dump with main dex rules

Change-Id: I5ad08adcb6022ceea84aa7abecaed282d72095b6
diff --git a/src/main/java/com/android/tools/r8/utils/CompileDumpCompatR8.java b/src/main/java/com/android/tools/r8/utils/CompileDumpCompatR8.java
index a32e296..292f103 100644
--- a/src/main/java/com/android/tools/r8/utils/CompileDumpCompatR8.java
+++ b/src/main/java/com/android/tools/r8/utils/CompileDumpCompatR8.java
@@ -75,6 +75,7 @@
     List<Path> library = new ArrayList<>();
     List<Path> classpath = new ArrayList<>();
     List<Path> config = new ArrayList<>();
+    List<Path> mainDexRulesFiles = new ArrayList<>();
     int minApi = 1;
     int threads = -1;
     for (int i = 0; i < args.length; i++) {
@@ -147,6 +148,11 @@
               threads = Integer.parseInt(operand);
               break;
             }
+          case "--main-dex-rules":
+            {
+              mainDexRulesFiles.add(Paths.get(operand));
+              break;
+            }
           default:
             throw new IllegalArgumentException("Unimplemented option: " + option);
         }
@@ -178,6 +184,7 @@
             .addLibraryFiles(library)
             .addClasspathFiles(classpath)
             .addProguardConfigurationFiles(config)
+            .addMainDexRulesFiles(mainDexRulesFiles)
             .setOutput(outputPath, outputMode)
             .setMode(compilationMode);
     if (desugaredLibJson != null) {
diff --git a/tools/compiledump.py b/tools/compiledump.py
index b5f49d1..76a0090 100755
--- a/tools/compiledump.py
+++ b/tools/compiledump.py
@@ -147,10 +147,13 @@
     if self.if_exists('proguard_input.config'):
       print("Unimplemented: proguard_input configuration.")
 
-  def main_dex_resource(self):
+  def main_dex_list_resource(self):
     if self.if_exists('main-dex-list.txt'):
       print("Unimplemented: main-dex-list.")
 
+  def main_dex_rules_resource(self):
+    return self.if_exists('main-dex-rules.txt')
+
   def build_properties_file(self):
     return self.if_exists('build.properties')
 
@@ -318,6 +321,8 @@
       if hasattr(args, 'config_file_consumer') and args.config_file_consumer:
         args.config_file_consumer(dump.config_file())
       cmd.extend(['--pg-conf', dump.config_file()])
+    if dump.main_dex_rules_resource():
+      cmd.extend(['--main-dex-rules', dump.main_dex_rules_resource()])
     if compiler != 'd8':
       cmd.extend(['--pg-map-output', '%s.map' % out])
     if min_api: