commit | 268be233f95ff3a3a8c275535c7b9a57723f4a0e | [log] [tgz] |
---|---|---|
author | Googler <gregce@google.com> | Tue Oct 11 07:59:09 2022 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Oct 11 08:01:18 2022 -0700 |
tree | ad8e2022548aeb27778fb3fd9a47ef61203a3d85 | |
parent | 5b546af3b9a22c8e280e3ba3fcdd5d0bc13215c5 [diff] [blame] |
Fix crash from --incompatible_enforce_config_setting_visibility Reproducing requires https://github.com/bazelbuild/bazel/commit/a3a4cf8c486d1d27e72d9e595c9d718efb21071a and --incompatible_enforce_config_setting_visibility=1. This is an obscure crash caused by a) building a test, b) with a select() on an alias, c) with --trim_test_configuration=1. Details in commit. For https://github.com/bazelbuild/bazel/issues/12932. Fixes https://github.com/bazelbuild/bazel/issues/16446. PiperOrigin-RevId: 480356600 Change-Id: I27227616dd2d1681b7769a29b73dac457f59d9b7
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java index 838f872..7cd33fa 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -1756,7 +1756,8 @@ // alias visibility, as is usual semantics. So two the following two edges are // checked: 1: select() -> alias and 2: alias -> config_setting. configSettingVisibilityPolicy == ConfigSettingVisibilityPolicy.DEFAULT_PUBLIC - ? condition.fromConfiguredTarget(condition.getConfiguredTarget().getActual()) + ? condition.fromConfiguredTargetNoCheck( + condition.getConfiguredTarget().getActual()) : condition); } }