aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/genquery
diff options
context:
space:
mode:
authorGravatar juliexxia <juliexxia@google.com>2017-12-18 14:33:45 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-18 14:36:01 -0800
commit8a2baea4513f0989be8dc5ea89ca9ddb5b2555eb (patch)
tree0d9ec5f4de99e7744d1ea98d7b28a287c1969210 /src/main/java/com/google/devtools/build/lib/rules/genquery
parentcdbaef24f47f859d8fd431a7844b08ed4e9d8461 (diff)
Consolidate instances of the --keep_going flag.
RELNOTES: None. PiperOrigin-RevId: 179468685
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/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java8
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
index 16853cf5d2..6be4e32d5d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/BUILD
@@ -17,6 +17,7 @@ java_library(
deps = [
"//src/main/java/com/google/devtools/build/lib:build-base",
"//src/main/java/com/google/devtools/build/lib:events",
+ "//src/main/java/com/google/devtools/build/lib:keep-going-option",
"//src/main/java/com/google/devtools/build/lib:packages-internal",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib/actions",
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 af785a57fd..d4a2c87d23 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
@@ -33,6 +33,7 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.Runfiles;
import com.google.devtools.build.lib.analysis.RunfilesProvider;
import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction;
+import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction.DeterministicWriter;
import com.google.devtools.build.lib.analysis.actions.ByteStringDeterministicWriter;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
@@ -48,6 +49,7 @@ import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.pkgcache.FilteringPolicies;
import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
@@ -67,6 +69,7 @@ import com.google.devtools.build.lib.query2.output.OutputFormatter;
import com.google.devtools.build.lib.query2.output.QueryOptions;
import com.google.devtools.build.lib.query2.output.QueryOptions.OrderOutput;
import com.google.devtools.build.lib.query2.output.QueryOutputUtils;
+import com.google.devtools.build.lib.runtime.KeepGoingOption;
import com.google.devtools.build.lib.skyframe.PackageValue;
import com.google.devtools.build.lib.skyframe.PrecomputedValue.Precomputed;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
@@ -114,7 +117,8 @@ public class GenQuery implements RuleConfiguredTargetFactory {
// The query string
final String query = ruleContext.attributes().get("expression", Type.STRING);
- OptionsParser optionsParser = OptionsParser.newOptionsParser(QueryOptions.class);
+ OptionsParser optionsParser =
+ OptionsParser.newOptionsParser(QueryOptions.class, KeepGoingOption.class);
optionsParser.setAllowResidue(false);
try {
optionsParser.parse(ruleContext.attributes().get("opts", Type.STRING_LIST));
@@ -125,7 +129,7 @@ public class GenQuery implements RuleConfiguredTargetFactory {
// Parsed query options
QueryOptions queryOptions = optionsParser.getOptions(QueryOptions.class);
- if (queryOptions.keepGoing) {
+ if (optionsParser.getOptions(KeepGoingOption.class).keepGoing) {
ruleContext.attributeError("opts", "option --keep_going is not allowed");
return null;
}