aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
diff options
context:
space:
mode:
authorGravatar mjhalupka <mjhalupka@google.com>2018-01-29 15:15:26 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-29 15:16:54 -0800
commit63ecbdffe2330b85a57c8f82794f740ea6605d4b (patch)
treedaf42ddf5279fde32fb958ad8b73052b1b34a5c3 /src/main/java/com/google/devtools/build/lib/analysis
parent207f4bdc9cc08e53592d0961867fe9b9bd82cc54 (diff)
Remove ConfiguredTarget.getTarget() call in TopLevelConstraintSemantics.
Replace it with PackageManager.getTarget(). PiperOrigin-RevId: 183736074
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
index c5992f2402..54ad5859b7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
@@ -27,6 +27,7 @@ import com.google.devtools.build.lib.analysis.ViewCreationFailedException;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.configuredtargets.OutputFileConfiguredTarget;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.packages.EnvironmentGroup;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
@@ -93,18 +94,23 @@ public class TopLevelConstraintSemantics {
Multimap<ConfiguredTarget, Label> exceptionInducingTargets = ArrayListMultimap.create();
for (ConfiguredTarget topLevelTarget : topLevelTargets) {
BuildConfiguration config = topLevelTarget.getConfiguration();
+ Target target = null;
+ try {
+ target = packageManager.getTarget(eventHandler, topLevelTarget.getLabel());
+ } catch (NoSuchPackageException | NoSuchTargetException e) {
+ eventHandler.handle(
+ Event.error(
+ "Unable to get target from package when checking environment restrictions. " + e));
+ continue;
+ }
if (config == null) {
// TODO(bazel-team): support file targets (they should apply package-default constraints).
continue;
} else if (!config.enforceConstraints()) {
continue; // Constraint checking is disabled for all targets.
- } else if (topLevelTarget.getTarget().getAssociatedRule() == null) {
+ } else if (target.getAssociatedRule() == null) {
continue;
- } else if (!topLevelTarget
- .getTarget()
- .getAssociatedRule()
- .getRuleClassObject()
- .supportsConstraintChecking()) {
+ } else if (!target.getAssociatedRule().getRuleClassObject().supportsConstraintChecking()) {
continue; // This target doesn't participate in constraints.
}