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: