diff options
author | kmb <kmb@google.com> | 2017-09-05 20:38:38 +0200 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2017-09-06 10:10:12 +0200 |
commit | dcc0865f99b2c402537c1133d2071db1d9eb4a5f (patch) | |
tree | ca11f3db5b7e91352a77014e6b0f65908a5d5a80 /src | |
parent | e0dfb3c3d70efc49c703be7e4c8e93c8a6b38d6b (diff) |
make local worker mode configurable for dexbuilder
RELNOTES: none
PiperOrigin-RevId: 167608048
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java | 17 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java | 4 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java index 6def7078a2..036f606ecd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java @@ -512,6 +512,15 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { public List<String> dexoptsSupportedInDexMerger; @Option( + name = "use_workers_with_dexbuilder", + defaultValue = "true", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = {OptionEffectTag.UNKNOWN}, + help = "Whether dexbuilder supports being run in local worker mode." + ) + public boolean useWorkersWithDexbuilder; + + @Option( name = "experimental_android_rewrite_dexes_with_rex", defaultValue = "false", documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, @@ -729,6 +738,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { host.nonIncrementalPerTargetDexopts = nonIncrementalPerTargetDexopts; host.dexoptsSupportedInIncrementalDexing = dexoptsSupportedInIncrementalDexing; host.dexoptsSupportedInDexMerger = dexoptsSupportedInDexMerger; + host.useWorkersWithDexbuilder = useWorkersWithDexbuilder; host.manifestMerger = manifestMerger; host.androidAaptVersion = androidAaptVersion; return host; @@ -776,6 +786,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { private final ImmutableList<String> dexoptsSupportedInIncrementalDexing; private final ImmutableList<String> targetDexoptsThatPreventIncrementalDexing; private final ImmutableList<String> dexoptsSupportedInDexMerger; + private final boolean useWorkersWithDexbuilder; private final boolean desugarJava8; private final boolean useRexToCompressDexFiles; private final boolean allowAndroidLibraryDepsWithoutSrcs; @@ -813,6 +824,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { this.targetDexoptsThatPreventIncrementalDexing = ImmutableList.copyOf(options.nonIncrementalPerTargetDexopts); this.dexoptsSupportedInDexMerger = ImmutableList.copyOf(options.dexoptsSupportedInDexMerger); + this.useWorkersWithDexbuilder = options.useWorkersWithDexbuilder; this.desugarJava8 = options.desugarJava8; this.allowAndroidLibraryDepsWithoutSrcs = options.allowAndroidLibraryDepsWithoutSrcs; this.useAndroidResourceShrinking = options.useAndroidResourceShrinking @@ -897,6 +909,11 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { return targetDexoptsThatPreventIncrementalDexing; } + /** Whether to assume the dexbuilder tool supports local worker mode. */ + public boolean useWorkersWithDexbuilder() { + return useWorkersWithDexbuilder; + } + public boolean desugarJava8() { return desugarJava8; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java index c8153b8d50..7abcc34319 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java @@ -450,11 +450,13 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu .addInput(paramFile) .addOutput(dexArchive) .setMnemonic("DexBuilder") - .setExecutionInfo(ExecutionRequirements.WORKER_MODE_ENABLED) .setProgressMessage( "Dexing %s with applicable dexopts %s", jar.prettyPrint(), incrementalDexopts) .setCommandLine( CustomCommandLine.builder().addPrefixedExecPath("@", paramFile).build()); + if (getAndroidConfig(ruleContext).useWorkersWithDexbuilder()) { + dexbuilder.setExecutionInfo(ExecutionRequirements.WORKER_MODE_ENABLED); + } ruleContext.registerAction(dexbuilder.build(ruleContext)); return dexArchive; } |