diff options
author | mjhalupka <mjhalupka@google.com> | 2018-01-29 15:15:26 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-29 15:16:54 -0800 |
commit | 63ecbdffe2330b85a57c8f82794f740ea6605d4b (patch) | |
tree | daf42ddf5279fde32fb958ad8b73052b1b34a5c3 /src/main | |
parent | 207f4bdc9cc08e53592d0961867fe9b9bd82cc54 (diff) |
Remove ConfiguredTarget.getTarget() call in TopLevelConstraintSemantics.
Replace it with PackageManager.getTarget().
PiperOrigin-RevId: 183736074
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java | 18 |
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. } |