diff options
author | 2017-06-27 20:05:20 +0200 | |
---|---|---|
committer | 2017-06-28 10:18:05 +0200 | |
commit | 7c7255ec8d6da20526c2c4078c57aadaf3dd3612 (patch) | |
tree | 4da3cb1a572edcdf7f883cb1edc56d733f6302bc /src/main/java/com/google/devtools/build/lib | |
parent | 1b2e451e7fba2616b850f531f76f577a3c59fda9 (diff) |
Allow expansion flags to have values.
This lets us change what it expands based on the argument passed to the flag.
RELNOTES: Allows flags that expand to take values.
PiperOrigin-RevId: 160298412
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java | 5 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java b/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java index 3f7a193cd3..9d283314a2 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/AllIncompatibleChangesExpansion.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.runtime; import com.google.common.collect.ImmutableList; import com.google.devtools.common.options.Converter; +import com.google.devtools.common.options.ExpansionContext; import com.google.devtools.common.options.ExpansionFunction; import com.google.devtools.common.options.IsolatedOptionsData; import com.google.devtools.common.options.Option; @@ -153,11 +154,11 @@ public class AllIncompatibleChangesExpansion implements ExpansionFunction { } @Override - public ImmutableList<String> getExpansion(IsolatedOptionsData optionsData) { + public ImmutableList<String> getExpansion(ExpansionContext context) { // Grab all registered options that are identified as incompatible changes by either name or // by category. Ensure they satisfy our requirements. ArrayList<String> incompatibleChanges = new ArrayList<>(); - for (Map.Entry<String, Field> entry : optionsData.getAllNamedFields()) { + for (Map.Entry<String, Field> entry : context.getOptionsData().getAllNamedFields()) { Field field = entry.getValue(); Option annotation = field.getAnnotation(Option.class); if (annotation.name().startsWith(INCOMPATIBLE_NAME_PREFIX) diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java index 18455b17e5..53540e6f18 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java @@ -165,8 +165,8 @@ public final class CanonicalizeCommand implements BlazeCommand { // Print out the canonical invocation policy if requested. if (canonicalizeOptions.canonicalizePolicy) { - List<FlagPolicy> effectiveFlagPolicies = - InvocationPolicyEnforcer.getEffectivePolicy(policy, parser, commandName); + ImmutableList<FlagPolicy> effectiveFlagPolicies = + InvocationPolicyEnforcer.getEffectivePolicies(policy, parser, commandName); InvocationPolicy effectivePolicy = InvocationPolicy.newBuilder().addAllFlagPolicies(effectiveFlagPolicies).build(); env.getReporter().getOutErr().printOutLn(effectivePolicy.toString()); |