@@ -533,14 +533,6 @@ public static class Options extends FragmentOptions {
533
533
help = "dx flags supported in tool that groups classes for inclusion in final .dex files." )
534
534
public List <String > dexoptsSupportedInDexSharder ;
535
535
536
- @ Option (
537
- name = "use_workers_with_dexbuilder" ,
538
- defaultValue = "true" ,
539
- documentationCategory = OptionDocumentationCategory .UNDOCUMENTED ,
540
- effectTags = {OptionEffectTag .EXECUTION },
541
- help = "Whether dexbuilder supports being run in local worker mode." )
542
- public boolean useWorkersWithDexbuilder ;
543
-
544
536
@ Option (
545
537
name = "experimental_android_rewrite_dexes_with_rex" ,
546
538
defaultValue = "false" ,
@@ -905,10 +897,11 @@ public static class Options extends FragmentOptions {
905
897
},
906
898
help = "Enable persistent Android dex and desugar actions by using workers." ,
907
899
expansion = {
900
+ "--internal_persistent_android_dex_desugar" ,
908
901
"--strategy=Desugar=worker" ,
909
902
"--strategy=DexBuilder=worker" ,
910
903
})
911
- public Void persistentDexDesugar ;
904
+ public Void persistentAndroidDexDesugar ;
912
905
913
906
@ Option (
914
907
name = "persistent_multiplex_android_dex_desugar" ,
@@ -921,10 +914,9 @@ public static class Options extends FragmentOptions {
921
914
help = "Enable persistent multiplexed Android dex and desugar actions by using workers." ,
922
915
expansion = {
923
916
"--persistent_android_dex_desugar" ,
924
- "--modify_execution_info=Desugar=+supports-multiplex-workers" ,
925
- "--modify_execution_info=DexBuilder=+supports-multiplex-workers" ,
917
+ "--internal_persistent_multiplex_android_dex_desugar" ,
926
918
})
927
- public Void persistentMultiplexDexDesugar ;
919
+ public Void persistentMultiplexAndroidDexDesugar ;
928
920
929
921
@ Option (
930
922
name = "persistent_multiplex_android_tools" ,
@@ -974,6 +966,36 @@ public static class Options extends FragmentOptions {
974
966
help = "Tracking flag for when multiplexed busybox workers are enabled." )
975
967
public boolean persistentMultiplexBusyboxTools ;
976
968
969
+ /**
970
+ * We use this option to decide when to enable workers for busybox tools. This flag is also a
971
+ * guard against enabling workers using nothing but --persistent_android_resource_processor.
972
+ *
973
+ * <p>Consequently, we use this option to decide between param files or regular command line
974
+ * parameters. If we're not using workers or on Windows, there's no need to always use param
975
+ * files for I/O performance reasons.
976
+ */
977
+ @ Option (
978
+ name = "internal_persistent_android_dex_desugar" ,
979
+ documentationCategory = OptionDocumentationCategory .UNDOCUMENTED ,
980
+ effectTags = {
981
+ OptionEffectTag .HOST_MACHINE_RESOURCE_OPTIMIZATIONS ,
982
+ OptionEffectTag .EXECUTION ,
983
+ },
984
+ defaultValue = "false" ,
985
+ help = "Tracking flag for when dexing and desugaring workers are enabled." )
986
+ public boolean persistentDexDesugar ;
987
+
988
+ @ Option (
989
+ name = "internal_persistent_multiplex_android_dex_desugar" ,
990
+ documentationCategory = OptionDocumentationCategory .UNDOCUMENTED ,
991
+ effectTags = {
992
+ OptionEffectTag .HOST_MACHINE_RESOURCE_OPTIMIZATIONS ,
993
+ OptionEffectTag .EXECUTION ,
994
+ },
995
+ defaultValue = "false" ,
996
+ help = "Tracking flag for when multiplexed dexing and desugaring workers are enabled." )
997
+ public boolean persistentMultiplexDexDesugar ;
998
+
977
999
@ Option (
978
1000
name = "experimental_remove_r_classes_from_instrumentation_test_jar" ,
979
1001
defaultValue = "true" ,
@@ -1100,7 +1122,6 @@ public FragmentOptions getHost() {
1100
1122
host .dexoptsSupportedInIncrementalDexing = dexoptsSupportedInIncrementalDexing ;
1101
1123
host .dexoptsSupportedInDexMerger = dexoptsSupportedInDexMerger ;
1102
1124
host .dexoptsSupportedInDexSharder = dexoptsSupportedInDexSharder ;
1103
- host .useWorkersWithDexbuilder = useWorkersWithDexbuilder ;
1104
1125
host .manifestMerger = manifestMerger ;
1105
1126
host .manifestMergerOrder = manifestMergerOrder ;
1106
1127
host .allowAndroidLibraryDepsWithoutSrcs = allowAndroidLibraryDepsWithoutSrcs ;
@@ -1128,7 +1149,6 @@ public FragmentOptions getHost() {
1128
1149
private final ImmutableList <String > targetDexoptsThatPreventIncrementalDexing ;
1129
1150
private final ImmutableList <String > dexoptsSupportedInDexMerger ;
1130
1151
private final ImmutableList <String > dexoptsSupportedInDexSharder ;
1131
- private final boolean useWorkersWithDexbuilder ;
1132
1152
private final boolean desugarJava8 ;
1133
1153
private final boolean desugarJava8Libs ;
1134
1154
private final boolean checkDesugarDeps ;
@@ -1155,6 +1175,8 @@ public FragmentOptions getHost() {
1155
1175
private final boolean dataBindingAndroidX ;
1156
1176
private final boolean persistentBusyboxTools ;
1157
1177
private final boolean persistentMultiplexBusyboxTools ;
1178
+ private final boolean persistentDexDesugar ;
1179
+ private final boolean persistentMultiplexDexDesugar ;
1158
1180
private final boolean filterRJarsFromAndroidTest ;
1159
1181
private final boolean removeRClassesFromInstrumentationTestJar ;
1160
1182
private final boolean alwaysFilterDuplicateClassesFromAndroidTest ;
@@ -1184,7 +1206,6 @@ public AndroidConfiguration(BuildOptions buildOptions) throws InvalidConfigurati
1184
1206
ImmutableList .copyOf (options .nonIncrementalPerTargetDexopts );
1185
1207
this .dexoptsSupportedInDexMerger = ImmutableList .copyOf (options .dexoptsSupportedInDexMerger );
1186
1208
this .dexoptsSupportedInDexSharder = ImmutableList .copyOf (options .dexoptsSupportedInDexSharder );
1187
- this .useWorkersWithDexbuilder = options .useWorkersWithDexbuilder ;
1188
1209
this .desugarJava8 = options .desugarJava8 ;
1189
1210
this .desugarJava8Libs = options .desugarJava8Libs ;
1190
1211
this .checkDesugarDeps = options .checkDesugarDeps ;
@@ -1216,6 +1237,8 @@ public AndroidConfiguration(BuildOptions buildOptions) throws InvalidConfigurati
1216
1237
this .dataBindingAndroidX = options .dataBindingAndroidX ;
1217
1238
this .persistentBusyboxTools = options .persistentBusyboxTools ;
1218
1239
this .persistentMultiplexBusyboxTools = options .persistentMultiplexBusyboxTools ;
1240
+ this .persistentDexDesugar = options .persistentDexDesugar ;
1241
+ this .persistentMultiplexDexDesugar = options .persistentMultiplexDexDesugar ;
1219
1242
this .filterRJarsFromAndroidTest = options .filterRJarsFromAndroidTest ;
1220
1243
this .removeRClassesFromInstrumentationTestJar =
1221
1244
options .removeRClassesFromInstrumentationTestJar ;
@@ -1319,12 +1342,6 @@ public ImmutableList<String> getTargetDexoptsThatPreventIncrementalDexing() {
1319
1342
return targetDexoptsThatPreventIncrementalDexing ;
1320
1343
}
1321
1344
1322
- /** Whether to assume the dexbuilder tool supports local worker mode. */
1323
- @ Override
1324
- public boolean useWorkersWithDexbuilder () {
1325
- return useWorkersWithDexbuilder ;
1326
- }
1327
-
1328
1345
@ Override
1329
1346
public boolean desugarJava8 () {
1330
1347
return desugarJava8 ;
@@ -1473,6 +1490,16 @@ public boolean persistentMultiplexBusyboxTools() {
1473
1490
return persistentMultiplexBusyboxTools ;
1474
1491
}
1475
1492
1493
+ @ Override
1494
+ public boolean persistentDexDesugar () {
1495
+ return persistentDexDesugar ;
1496
+ }
1497
+
1498
+ @ Override
1499
+ public boolean persistentMultiplexDexDesugar () {
1500
+ return persistentMultiplexDexDesugar ;
1501
+ }
1502
+
1476
1503
@ Override
1477
1504
public boolean incompatibleUseToolchainResolution () {
1478
1505
return incompatibleUseToolchainResolution ;
0 commit comments