Update compiledump.py with more options for feature splits
* Place generated feature jars in --output location if directory
* Add --ignore-features option to compile without feature splits
* Don't pass --feature options to D8 as it is not supported by D8
Change-Id: I6add6825f62e46f8f0ce27d9223181219d2e88dc
diff --git a/tools/compiledump.py b/tools/compiledump.py
index c888eb4..ce09db8 100755
--- a/tools/compiledump.py
+++ b/tools/compiledump.py
@@ -141,6 +141,13 @@
choices=['debug', 'release'],
default=None)
parser.add_argument(
+ '--ignore-features',
+ help="Don't split into features when features are present."
+ ' Instead include feature code in main app output.'
+ ' This is always the case when compiler is d8.',
+ default=False,
+ action='store_true')
+ parser.add_argument(
'--no-build',
help="Don't build when using --version main",
default=False,
@@ -354,7 +361,9 @@
def determine_feature_output(feature_jar, temp):
- return os.path.join(temp, os.path.basename(feature_jar)[:-4] + ".out.jar")
+ return os.path.join(
+ args.output if args.output and os.path.isdir(args.output) else temp,
+ os.path.basename(feature_jar)[:-4] + ".out.jar")
def determine_program_jar(args, dump):
@@ -584,10 +593,13 @@
else:
cmd.extend(['--source', program_jar])
for feature_jar in dump.feature_jars():
- cmd.extend([
- '--feature-jar', feature_jar,
- determine_feature_output(feature_jar, temp)
- ])
+ if not args.ignore_features and compiler != 'd8':
+ cmd.extend([
+ '--feature-jar', feature_jar,
+ determine_feature_output(feature_jar, temp)
+ ])
+ else:
+ cmd.append(feature_jar)
if dump.library_jar():
cmd.extend(['--lib', dump.library_jar()])
if dump.classpath_jar() and not is_l8_compiler(compiler):