diff options
author | 2018-02-13 12:44:21 -0800 | |
---|---|---|
committer | 2018-02-13 12:46:14 -0800 | |
commit | 6f9416ed9f966a153a3cb85b25104af059f4eb0a (patch) | |
tree | e4c0e4534d53cd74cac51475af51fb35d3e06994 /src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java | |
parent | 73e768e57727997db57901dbe23eb60b2c3efa95 (diff) |
Implement the config(expr, word) cquery function.
expr - the expression to be evaluated
word - the configuration (represented by the strings 'host', 'target', or 'null') to try to find the result(s) of 'expr' in. If some but not all results of expr can be found in the specified config, then the subset that can be is returned. If no results of expr can be found in the specified config, then an error is thrown.
PiperOrigin-RevId: 185572590
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java index 3530399a9c..adc6b18113 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java @@ -66,6 +66,7 @@ import com.google.devtools.build.lib.profiler.ProfilePhase; import com.google.devtools.build.lib.profiler.Profiler; import com.google.devtools.build.lib.query2.CommonQueryOptions; import com.google.devtools.build.lib.query2.ConfiguredTargetQueryEnvironment; +import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryFunction; import com.google.devtools.build.lib.query2.engine.QueryEvalResult; import com.google.devtools.build.lib.query2.engine.QueryException; import com.google.devtools.build.lib.query2.engine.QueryExpression; @@ -474,11 +475,16 @@ public final class BuildTool { WalkableGraph walkableGraph = SkyframeExecutorWrappingWalkableGraph.of(env.getSkyframeExecutor()); + ImmutableList<QueryFunction> extraFunctions = + new ImmutableList.Builder<QueryFunction>() + .addAll(ConfiguredTargetQueryEnvironment.CQUERY_FUNCTIONS) + .addAll(env.getRuntime().getQueryFunctions()) + .build(); ConfiguredTargetQueryEnvironment configuredTargetQueryEnvironment = new ConfiguredTargetQueryEnvironment( request.getKeepGoing(), env.getReporter(), - env.getRuntime().getQueryFunctions(), + extraFunctions, targetConfig, hostConfiguration, env.newTargetPatternEvaluator().getOffset(), |