aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
diff options
context:
space:
mode:
authorGravatar juliexxia <juliexxia@google.com>2018-08-13 15:21:42 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-13 15:23:28 -0700
commita6298007e0b8338aa4ac5cbc9f6d42d5d44b6d6d (patch)
treebd4a4357d6b36e90ea7382421ef0c27911230a31 /src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
parent3bace1b937934fb2cea6260067ecc1cdbe526847 (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.java8
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.
*/