Skip to content

Commit 4edb501

Browse files
authored
chore: update pre-bazel 6 work-around in utils to only apply for bazel versions < 6 (bazel-contrib#320)
1 parent 8d21ed0 commit 4edb501

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

lib/private/utils.bzl

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,8 @@ def _is_external_label(param):
7676
Returns:
7777
a bool
7878
"""
79-
80-
# Seems like a bug in Bazel that the workspace_root for a label like
81-
# @@//js/private/node-patches:fs.js is "external"
82-
# See https://github.com/bazelbuild/bazel/issues/16528
83-
if str(param).startswith("@@//"):
79+
if not _is_bazel_6_or_greater() and str(param).startswith("@@//"):
80+
# Work-around for https://github.com/bazelbuild/bazel/issues/16528
8481
return False
8582
return len(_to_label(param).workspace_root) > 0
8683

lib/tests/utils_test.bzl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ def _is_external_label_test_impl(ctx):
5151
asserts.false(env, utils.is_external_label("//some/label"))
5252
asserts.false(env, utils.is_external_label(Label("//some/label")))
5353
asserts.false(env, utils.is_external_label("@//some/label"))
54-
55-
# TODO(Bazel 6.0): enable this test when the @@ syntax is available
56-
# asserts.false(env, utils.is_external_label("@@//some/label"))
5754
asserts.false(env, utils.is_external_label(Label("@aspect_bazel_lib//some/label")))
5855
asserts.false(env, ctx.attr.internal_with_workspace_as_string)
5956

57+
# the "@@" repository name syntax applies to Bazel 6 or greater
58+
if utils.is_bazel_6_or_greater():
59+
asserts.false(env, utils.is_external_label("@@//some/label"))
60+
6061
# assert that labels and string that give a workspace return true
6162
asserts.true(env, utils.is_external_label(Label("@foo//some/label")))
6263
asserts.true(env, ctx.attr.external_as_string)

0 commit comments

Comments
 (0)