aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar mjhalupka <mjhalupka@google.com>2018-01-30 14:09:46 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-30 14:11:36 -0800
commite24fe4dbc62e2c9081e915b5318ed3e5ee47a76a (patch)
treeb81e4ce7930bade5f76b0c0023d04b1fbe9d88bf /src/main/java/com/google/devtools
parent6cee49a8a110d291bc8949ffb58bb9df16504b81 (diff)
Replace ConfiguredTarget.getTarget() with a call to the environment's package
manager. PiperOrigin-RevId: 183889147
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
index e843780e70..d0b8b0c11c 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
@@ -28,8 +28,12 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.CollectionUtils;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.exec.ExecutionOptions;
+import com.google.devtools.build.lib.packages.NoSuchPackageException;
+import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.Rule;
+import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.build.lib.skyframe.AspectValue;
import com.google.devtools.build.lib.util.io.OutErr;
@@ -207,36 +211,44 @@ class BuildResultPrinter {
private Collection<ConfiguredTarget> filterTargetsToPrint(
Collection<ConfiguredTarget> configuredTargets) {
ImmutableList.Builder<ConfiguredTarget> result = ImmutableList.builder();
- for (ConfiguredTarget target : configuredTargets) {
+ for (ConfiguredTarget configuredTarget : configuredTargets) {
// TODO(bazel-team): this is quite ugly. Add a marker provider for this check.
- if (target instanceof InputFileConfiguredTarget) {
+ if (configuredTarget instanceof InputFileConfiguredTarget) {
// Suppress display of source files (because we do no work to build them).
continue;
}
- if (target.getTarget() instanceof Rule) {
- Rule rule = (Rule) target.getTarget();
+ Target target = null;
+ try {
+ target = env.getPackageManager().getTarget(env.getReporter(), configuredTarget.getLabel());
+ } catch (NoSuchPackageException | NoSuchTargetException | InterruptedException e) {
+ env.getReporter()
+ .handle(Event.error("Unable to get target when filtering targets to print. " + e));
+ continue;
+ }
+ if (target instanceof Rule) {
+ Rule rule = (Rule) target;
if (rule.getRuleClass().contains("$")) {
// Suppress display of hidden rules
continue;
}
}
- if (target instanceof OutputFileConfiguredTarget) {
+ if (configuredTarget instanceof OutputFileConfiguredTarget) {
// Suppress display of generated files (because they appear underneath
// their generating rule), EXCEPT those ones which are not part of the
// filesToBuild of their generating rule (e.g. .par, _deploy.jar
// files), OR when a user explicitly requests an output file but not
// its rule.
TransitiveInfoCollection generatingRule =
- ((OutputFileConfiguredTarget) target).getGeneratingRule();
+ ((OutputFileConfiguredTarget) configuredTarget).getGeneratingRule();
if (CollectionUtils.containsAll(
- generatingRule.getProvider(FileProvider.class).getFilesToBuild(),
- target.getProvider(FileProvider.class).getFilesToBuild())
+ generatingRule.getProvider(FileProvider.class).getFilesToBuild(),
+ configuredTarget.getProvider(FileProvider.class).getFilesToBuild())
&& configuredTargets.contains(generatingRule)) {
continue;
}
}
- result.add(target);
+ result.add(configuredTarget);
}
return result.build();
}