diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java index 68fae0e55330f0..a39db01f57d997 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.runtime.commands; +import static com.google.common.collect.ImmutableList.toImmutableList; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Preconditions; @@ -29,6 +30,7 @@ import com.google.devtools.common.options.OptionsParsingResult; import java.io.IOException; import java.util.List; +import java.util.function.Predicate; /** Provides support for reading target patterns from a file or the command-line. */ final class TargetPatternsHelper { @@ -54,7 +56,12 @@ public static List readFrom(CommandEnvironment env, OptionsParsingResult Path residuePath = env.getWorkingDirectory().getRelative(buildRequestOptions.targetPatternFile); try { - targets = FileSystemUtils.readLines(residuePath, UTF_8); + targets = + FileSystemUtils.readLines(residuePath, UTF_8).stream() + .map(s -> s.split("#")[0]) + .map(String::trim) + .filter(Predicate.not(String::isEmpty)) + .collect(toImmutableList()); } catch (IOException e) { throw new TargetPatternsHelperException( "I/O error reading from " + residuePath.getPathString() + ": " + e.getMessage(), diff --git a/src/test/shell/integration/target_pattern_file_test.sh b/src/test/shell/integration/target_pattern_file_test.sh index 7ac30699420f7c..29eff8dfed9593 100755 --- a/src/test/shell/integration/target_pattern_file_test.sh +++ b/src/test/shell/integration/target_pattern_file_test.sh @@ -73,7 +73,8 @@ sh_test(name = "y", srcs = ["x.out"]) EOF cat >build.params <<'EOF' -//:x +# Test comment +//:x # Trailing comment //:y EOF }