diff options
author | 2016-09-30 21:28:30 +0000 | |
---|---|---|
committer | 2016-10-04 08:53:17 +0000 | |
commit | 5bb9cc96e3b20197a1a10d965ac64d07b1a25e5a (patch) | |
tree | 13079e6cb0c9b99fed2e77de6ed611d6c5af0bb8 /src/main/java/com/google/devtools/build/lib/rules/genquery | |
parent | 1d8fba9d5edf68458be111ce14ef111141b5d432 (diff) |
Unify AbstractBlazeQueryEnvironment#evaluateQuery with its subclass overrides. Also, have AbstractBlazeQueryEnvironment#evaluateQuery take an OutputFormatterCallback instance rather than a Callback instance. This is more sensible since the latter is only intended to be used intra-query, while the former is intended for usage in end-to-end query evaluation. This lets us slightly simplify QueryCommand, by shifting the responsibility for managing the OutputFormatterCallback to AbstractBlazeQueryEnvironment#evaluateQuery.
--
MOS_MIGRATED_REVID=134827588
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/genquery')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java index 3620b8fbda..1fa0af0fcc 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java @@ -56,7 +56,8 @@ import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryFunctio import com.google.devtools.build.lib.query2.engine.QueryEnvironment.Setting; import com.google.devtools.build.lib.query2.engine.QueryException; import com.google.devtools.build.lib.query2.engine.QueryExpressionEvalListener; -import com.google.devtools.build.lib.query2.engine.QueryUtil.AggregateAllCallback; +import com.google.devtools.build.lib.query2.engine.QueryUtil; +import com.google.devtools.build.lib.query2.engine.QueryUtil.AggregateAllOutputFormatterCallback; import com.google.devtools.build.lib.query2.engine.SkyframeRestartQueryException; import com.google.devtools.build.lib.query2.output.OutputFormatter; import com.google.devtools.build.lib.query2.output.QueryOptions; @@ -261,7 +262,8 @@ public class GenQuery implements RuleConfiguredTargetFactory { DigraphQueryEvalResult<Target> queryResult; OutputFormatter formatter; - AggregateAllCallback<Target> targets = new AggregateAllCallback<>(); + AggregateAllOutputFormatterCallback<Target> targets = + QueryUtil.newAggregateAllOutputFormatterCallback(); try { Set<Setting> settings = queryOptions.toSettings(); @@ -305,6 +307,8 @@ public class GenQuery implements RuleConfiguredTargetFactory { } catch (QueryException e) { ruleContext.ruleError("query failed: " + e.getMessage()); return null; + } catch (IOException e) { + throw new RuntimeException(e); } ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |