diff options
author | 2015-07-20 15:03:33 +0000 | |
---|---|---|
committer | 2015-07-21 15:13:38 -0400 | |
commit | 2d93a47d97fbe2c2a95a03a17cf46b1e09acc910 (patch) | |
tree | 53cfebbe7aba65287c637f19357e7c3a574ff85c /src | |
parent | b04765a2172b5dfa65fa46817734c65e7d0f99e0 (diff) |
Add --output_filter option
Fixes #309.
--
MOS_MIGRATED_REVID=98639996
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java | 9 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java | 14 |
2 files changed, 23 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 afe7597b30..f9277a9b3e 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 @@ -47,6 +47,7 @@ import java.util.List; import java.util.Set; import java.util.UUID; import java.util.concurrent.ExecutionException; +import java.util.regex.Pattern; /** * A BuildRequest represents a single invocation of the build tool by a user. @@ -120,6 +121,14 @@ public class BuildRequest implements OptionsClassProvider { + "Has no effect if --explain is not enabled.") public boolean verboseExplanations; + @Option(name = "output_filter", + converter = Converters.RegexPatternConverter.class, + defaultValue = "null", + category = "flags", + help = "Only shows warnings for rules with a name matching the provided regular " + + "expression.") + public Pattern outputFilter; + @Deprecated @Option(name = "dump_makefile", defaultValue = "false", 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 d728c63db5..0fe2562fe0 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 @@ -53,6 +53,7 @@ import com.google.devtools.build.lib.buildtool.buildevent.TestFilteringCompleteE import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.events.Event; +import com.google.devtools.build.lib.events.OutputFilter; import com.google.devtools.build.lib.events.Reporter; import com.google.devtools.build.lib.packages.InputFile; import com.google.devtools.build.lib.packages.License; @@ -83,6 +84,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; +import java.util.regex.Pattern; /** * Provides the bulk of the implementation of the 'blaze build' command. @@ -397,6 +399,8 @@ public class BuildTool { Profiler.instance().markPhase(ProfilePhase.LOAD); runtime.throwPendingException(); + initializeOutputFilter(request); + final boolean keepGoing = request.getViewOptions().keepGoing; Callback callback = new Callback() { @@ -422,6 +426,16 @@ public class BuildTool { } /** + * Initializes the output filter to the value given with {@code --output_filter}. + */ + private void initializeOutputFilter(BuildRequest request) { + Pattern outputFilter = request.getBuildOptions().outputFilter; + if (outputFilter != null) { + getReporter().setOutputFilter(OutputFilter.RegexOutputFilter.forPattern(outputFilter)); + } + } + + /** * Performs the initial phases 0-2 of the build: Setup, Loading and Analysis. * <p> * Postcondition: On success, populates the BuildRequest's set of targets to |