diff options
author | juliexxia <juliexxia@google.com> | 2018-08-13 15:21:42 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-13 15:23:28 -0700 |
commit | a6298007e0b8338aa4ac5cbc9f6d42d5d44b6d6d (patch) | |
tree | bd4a4357d6b36e90ea7382421ef0c27911230a31 /src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java | |
parent | 3bace1b937934fb2cea6260067ecc1cdbe526847 (diff) |
Add a <code>getSkylarkOptions</code> helper function to all OptionsProviders.
This is to allow OptionsProviders to access the new skylark options which aren't held in a fragment class like native options and thus can't be accessed with the traditional <code>get</code> method. Currently this function isn't called anywhere and would just return an empty map. But in the future it will return a map of skylark flag names to values.
PiperOrigin-RevId: 208552510
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java index 263195a699..02a99e7e24 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java @@ -38,6 +38,7 @@ import com.google.devtools.common.options.OptionsClassProvider; import com.google.devtools.common.options.OptionsProvider; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.UUID; import java.util.concurrent.ExecutionException; @@ -50,6 +51,7 @@ import java.util.concurrent.ExecutionException; public class BuildRequest implements OptionsClassProvider { private final UUID id; private final LoadingCache<Class<? extends OptionsBase>, Optional<OptionsBase>> optionsCache; + private final Map<String, Object> skylarkOptions; /** A human-readable description of all the non-default option settings. */ private final String optionsDescription; @@ -105,12 +107,17 @@ public class BuildRequest implements OptionsClassProvider { return Optional.fromNullable(result); } }); + this.skylarkOptions = options.getSkylarkOptions(); for (Class<? extends OptionsBase> optionsClass : MANDATORY_OPTIONS) { Preconditions.checkNotNull(getOptions(optionsClass)); } } + private Map<String, Object> getSkylarkOptions() { + return skylarkOptions; + } + /** * Returns a unique identifier that universally identifies this build. */ @@ -177,6 +184,7 @@ public class BuildRequest implements OptionsClassProvider { } } + /** * Returns the set of command-line options specified for this request. */ |