diff options
author | 2017-06-09 11:55:10 +0200 | |
---|---|---|
committer | 2017-06-09 13:31:51 +0200 | |
commit | b8e5b4e098c0a7df26ea8aedf52ce2ca7331d528 (patch) | |
tree | 1eaac03306ca956bf4178dabd0b1baf91d16a846 /src/main/java/com/google/devtools/build | |
parent | 11a89fb5dfd79ca91a7022e3b256871763eae115 (diff) |
Don't create the same String/ImmutableMap over and over again.
RELNOTES: None
PiperOrigin-RevId: 158498863
Diffstat (limited to 'src/main/java/com/google/devtools/build')
6 files changed, 18 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java b/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java index ad324fd805..74e2eae16a 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ExecutionRequirements.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.actions; import com.google.auto.value.AutoValue; import com.google.common.base.Function; +import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.util.Preconditions; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -139,4 +140,10 @@ public class ExecutionRequirements { return null; } }); + + /** If an action supports running in persistent worker mode. */ + public static final String SUPPORTS_WORKERS = "supports-workers"; + + public static final ImmutableMap<String, String> WORKER_MODE_ENABLED = + ImmutableMap.of(SUPPORTS_WORKERS, "1"); } 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 91aac4f20f..ff973cde35 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 @@ -26,11 +26,11 @@ import com.google.common.base.Joiner; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.ParameterFile; import com.google.devtools.build.lib.analysis.ConfiguredAspect; import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory; @@ -434,7 +434,7 @@ public final class DexArchiveAspect extends NativeAspectClass implements Configu .addInput(paramFile) .addOutput(dexArchive) .setMnemonic("DexBuilder") - .setExecutionInfo(ImmutableMap.of("supports-workers", "1")) + .setExecutionInfo(ExecutionRequirements.WORKER_MODE_ENABLED) .setProgressMessage( "Dexing " + jar.prettyPrint() + " with applicable dexopts " + incrementalDexopts); ruleContext.registerAction(dexbuilder.build(ruleContext)); diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java index f6fb57bd3b..29379dcbf0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java @@ -16,9 +16,9 @@ package com.google.devtools.build.lib.rules.java; import com.google.common.base.Function; import com.google.common.base.Functions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.actions.ResourceSet; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; @@ -281,7 +281,7 @@ public class DeployArchiveBuilder { .alwaysUseParameterFile(ParameterFileType.SHELL_QUOTED) .setProgressMessage("Building deploy jar " + outputJar.prettyPrint()) .setMnemonic("JavaDeployJar") - .setExecutionInfo(ImmutableMap.of("supports-workers", "1")) + .setExecutionInfo(ExecutionRequirements.WORKER_MODE_ENABLED) .build(ruleContext)); } else { ruleContext.registerAction( diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java index 0e98955657..b787404f9e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationHelper.java @@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.analysis.AnalysisEnvironment; import com.google.devtools.build.lib.analysis.FileProvider; import com.google.devtools.build.lib.analysis.FilesToRunProvider; @@ -233,7 +234,7 @@ public final class JavaCompilationHelper { private ImmutableMap<String, String> getExecutionInfo() { if (javaToolchain.getJavacSupportsWorkers()) { - return ImmutableMap.of("supports-workers", "1"); + return ExecutionRequirements.WORKER_MODE_ENABLED; } return ImmutableMap.of(); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java index 3942ba2e33..4586ac543d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java @@ -14,8 +14,8 @@ package com.google.devtools.build.lib.rules.java; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; @@ -65,7 +65,7 @@ public final class SingleJarActionBuilder { ruleContext.getHostConfiguration().getFragment(Jvm.class).getJavaExecutable(), singleJar, JavaToolchainProvider.fromRuleContext(ruleContext).getJvmOptions()) - .setExecutionInfo(ImmutableMap.of("supports-workers", "1")); + .setExecutionInfo(ExecutionRequirements.WORKER_MODE_ENABLED); } else { builder.setExecutable(singleJar); } diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java index dbe8bde474..e72551bef0 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java @@ -29,6 +29,7 @@ import com.google.devtools.build.lib.actions.ActionInputFileCache; import com.google.devtools.build.lib.actions.ActionInputHelper; import com.google.devtools.build.lib.actions.ActionStatusMessage; import com.google.devtools.build.lib.actions.ExecException; +import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.ExecutionStrategy; import com.google.devtools.build.lib.actions.Executor; import com.google.devtools.build.lib.actions.ResourceManager; @@ -112,8 +113,8 @@ public final class WorkerSpawnStrategy implements SandboxedSpawnActionContext { AtomicReference<Class<? extends SpawnActionContext>> writeOutputFiles) throws ExecException, InterruptedException { Executor executor = actionExecutionContext.getExecutor(); - if (!spawn.getExecutionInfo().containsKey("supports-workers") - || !spawn.getExecutionInfo().get("supports-workers").equals("1")) { + if (!spawn.getExecutionInfo().containsKey(ExecutionRequirements.SUPPORTS_WORKERS) + || !spawn.getExecutionInfo().get(ExecutionRequirements.SUPPORTS_WORKERS).equals("1")) { StandaloneSpawnStrategy standaloneStrategy = Preconditions.checkNotNull(executor.getContext(StandaloneSpawnStrategy.class)); executor.getEventHandler().handle( |