diff --git a/misc/bazel/3rdparty/patch_defs.py b/misc/bazel/3rdparty/patch_defs.py new file mode 100644 index 00000000000..6577d08209a --- /dev/null +++ b/misc/bazel/3rdparty/patch_defs.py @@ -0,0 +1,16 @@ +import sys +import re +import pathlib + +label_re = re.compile(r'"@vendor//:(.+)-([\d.]+)"') + +file = pathlib.Path(sys.argv[1]) +temp = file.with_suffix(f'{file.suffix}.tmp') + + +with open(file) as input, open(temp, "w") as output: + for line in input: + line = label_re.sub(lambda m: f'"@vendor__{m[1]}-{m[2]}//:{m[1].replace("-", "_")}"', line) + output.write(line) + +temp.rename(file) diff --git a/misc/bazel/3rdparty/py_deps/defs.bzl b/misc/bazel/3rdparty/py_deps/defs.bzl index 0c420da3bb2..e9bbd894558 100644 --- a/misc/bazel/3rdparty/py_deps/defs.bzl +++ b/misc/bazel/3rdparty/py_deps/defs.bzl @@ -295,19 +295,19 @@ def aliases( _NORMAL_DEPENDENCIES = { "python/extractor/tsg-python": { _COMMON_CONDITION: { - "anyhow": Label("@vendor//:anyhow-1.0.44"), - "clap": Label("@vendor//:clap-2.33.3"), - "regex": Label("@vendor//:regex-1.5.5"), - "smallvec": Label("@vendor//:smallvec-1.6.1"), - "string-interner": Label("@vendor//:string-interner-0.12.2"), - "thiserror": Label("@vendor//:thiserror-1.0.29"), - "tree-sitter": Label("@vendor//:tree-sitter-0.20.4"), - "tree-sitter-graph": Label("@vendor//:tree-sitter-graph-0.7.0"), + "anyhow": Label("@vendor__anyhow-1.0.44//:anyhow"), + "clap": Label("@vendor__clap-2.33.3//:clap"), + "regex": Label("@vendor__regex-1.5.5//:regex"), + "smallvec": Label("@vendor__smallvec-1.6.1//:smallvec"), + "string-interner": Label("@vendor__string-interner-0.12.2//:string_interner"), + "thiserror": Label("@vendor__thiserror-1.0.29//:thiserror"), + "tree-sitter": Label("@vendor__tree-sitter-0.20.4//:tree_sitter"), + "tree-sitter-graph": Label("@vendor__tree-sitter-graph-0.7.0//:tree_sitter_graph"), }, }, "python/extractor/tsg-python/tsp": { _COMMON_CONDITION: { - "tree-sitter": Label("@vendor//:tree-sitter-0.20.4"), + "tree-sitter": Label("@vendor__tree-sitter-0.20.4//:tree_sitter"), }, }, } @@ -370,7 +370,7 @@ _BUILD_DEPENDENCIES = { }, "python/extractor/tsg-python/tsp": { _COMMON_CONDITION: { - "cc": Label("@vendor//:cc-1.0.70"), + "cc": Label("@vendor__cc-1.0.70//:cc"), }, }, } diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl index 70e951a8dd9..8cb3ec76d15 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -296,88 +296,88 @@ def aliases( _NORMAL_DEPENDENCIES = { "ruby/extractor": { _COMMON_CONDITION: { - "clap": Label("@vendor//:clap-4.5.26"), - "encoding": Label("@vendor//:encoding-0.2.33"), - "lazy_static": Label("@vendor//:lazy_static-1.5.0"), - "rayon": Label("@vendor//:rayon-1.10.0"), - "regex": Label("@vendor//:regex-1.11.1"), - "tracing": Label("@vendor//:tracing-0.1.41"), - "tracing-subscriber": Label("@vendor//:tracing-subscriber-0.3.19"), - "tree-sitter": Label("@vendor//:tree-sitter-0.24.6"), - "tree-sitter-embedded-template": Label("@vendor//:tree-sitter-embedded-template-0.23.2"), - "tree-sitter-ruby": Label("@vendor//:tree-sitter-ruby-0.23.1"), + "clap": Label("@vendor__clap-4.5.26//:clap"), + "encoding": Label("@vendor__encoding-0.2.33//:encoding"), + "lazy_static": Label("@vendor__lazy_static-1.5.0//:lazy_static"), + "rayon": Label("@vendor__rayon-1.10.0//:rayon"), + "regex": Label("@vendor__regex-1.11.1//:regex"), + "tracing": Label("@vendor__tracing-0.1.41//:tracing"), + "tracing-subscriber": Label("@vendor__tracing-subscriber-0.3.19//:tracing_subscriber"), + "tree-sitter": Label("@vendor__tree-sitter-0.24.6//:tree_sitter"), + "tree-sitter-embedded-template": Label("@vendor__tree-sitter-embedded-template-0.23.2//:tree_sitter_embedded_template"), + "tree-sitter-ruby": Label("@vendor__tree-sitter-ruby-0.23.1//:tree_sitter_ruby"), }, }, "rust/ast-generator": { _COMMON_CONDITION: { - "anyhow": Label("@vendor//:anyhow-1.0.95"), - "either": Label("@vendor//:either-1.13.0"), - "itertools": Label("@vendor//:itertools-0.14.0"), - "mustache": Label("@vendor//:mustache-0.9.0"), - "proc-macro2": Label("@vendor//:proc-macro2-1.0.93"), - "quote": Label("@vendor//:quote-1.0.38"), - "serde": Label("@vendor//:serde-1.0.217"), - "stdx": Label("@vendor//:ra_ap_stdx-0.0.258"), - "ungrammar": Label("@vendor//:ungrammar-1.16.1"), + "anyhow": Label("@vendor__anyhow-1.0.95//:anyhow"), + "either": Label("@vendor__either-1.13.0//:either"), + "itertools": Label("@vendor__itertools-0.14.0//:itertools"), + "mustache": Label("@vendor__mustache-0.9.0//:mustache"), + "proc-macro2": Label("@vendor__proc-macro2-1.0.93//:proc_macro2"), + "quote": Label("@vendor__quote-1.0.38//:quote"), + "serde": Label("@vendor__serde-1.0.217//:serde"), + "stdx": Label("@vendor__ra_ap_stdx-0.0.258//:ra_ap_stdx"), + "ungrammar": Label("@vendor__ungrammar-1.16.1//:ungrammar"), }, }, "rust/autobuild": { }, "rust/extractor": { _COMMON_CONDITION: { - "anyhow": Label("@vendor//:anyhow-1.0.95"), - "argfile": Label("@vendor//:argfile-0.2.1"), - "chrono": Label("@vendor//:chrono-0.4.39"), - "clap": Label("@vendor//:clap-4.5.26"), - "dunce": Label("@vendor//:dunce-1.0.5"), - "figment": Label("@vendor//:figment-0.10.19"), - "glob": Label("@vendor//:glob-0.3.2"), - "itertools": Label("@vendor//:itertools-0.14.0"), - "log": Label("@vendor//:log-0.4.22"), - "num-traits": Label("@vendor//:num-traits-0.2.19"), - "ra_ap_base_db": Label("@vendor//:ra_ap_base_db-0.0.258"), - "ra_ap_cfg": Label("@vendor//:ra_ap_cfg-0.0.258"), - "ra_ap_hir": Label("@vendor//:ra_ap_hir-0.0.258"), - "ra_ap_hir_def": Label("@vendor//:ra_ap_hir_def-0.0.258"), - "ra_ap_hir_expand": Label("@vendor//:ra_ap_hir_expand-0.0.258"), - "ra_ap_ide_db": Label("@vendor//:ra_ap_ide_db-0.0.258"), - "ra_ap_intern": Label("@vendor//:ra_ap_intern-0.0.258"), - "ra_ap_load-cargo": Label("@vendor//:ra_ap_load-cargo-0.0.258"), - "ra_ap_parser": Label("@vendor//:ra_ap_parser-0.0.258"), - "ra_ap_paths": Label("@vendor//:ra_ap_paths-0.0.258"), - "ra_ap_project_model": Label("@vendor//:ra_ap_project_model-0.0.258"), - "ra_ap_span": Label("@vendor//:ra_ap_span-0.0.258"), - "ra_ap_syntax": Label("@vendor//:ra_ap_syntax-0.0.258"), - "ra_ap_vfs": Label("@vendor//:ra_ap_vfs-0.0.258"), - "serde": Label("@vendor//:serde-1.0.217"), - "serde_json": Label("@vendor//:serde_json-1.0.135"), - "serde_with": Label("@vendor//:serde_with-3.12.0"), - "stderrlog": Label("@vendor//:stderrlog-0.6.0"), - "toml": Label("@vendor//:toml-0.8.19"), - "triomphe": Label("@vendor//:triomphe-0.1.14"), + "anyhow": Label("@vendor__anyhow-1.0.95//:anyhow"), + "argfile": Label("@vendor__argfile-0.2.1//:argfile"), + "chrono": Label("@vendor__chrono-0.4.39//:chrono"), + "clap": Label("@vendor__clap-4.5.26//:clap"), + "dunce": Label("@vendor__dunce-1.0.5//:dunce"), + "figment": Label("@vendor__figment-0.10.19//:figment"), + "glob": Label("@vendor__glob-0.3.2//:glob"), + "itertools": Label("@vendor__itertools-0.14.0//:itertools"), + "log": Label("@vendor__log-0.4.22//:log"), + "num-traits": Label("@vendor__num-traits-0.2.19//:num_traits"), + "ra_ap_base_db": Label("@vendor__ra_ap_base_db-0.0.258//:ra_ap_base_db"), + "ra_ap_cfg": Label("@vendor__ra_ap_cfg-0.0.258//:ra_ap_cfg"), + "ra_ap_hir": Label("@vendor__ra_ap_hir-0.0.258//:ra_ap_hir"), + "ra_ap_hir_def": Label("@vendor__ra_ap_hir_def-0.0.258//:ra_ap_hir_def"), + "ra_ap_hir_expand": Label("@vendor__ra_ap_hir_expand-0.0.258//:ra_ap_hir_expand"), + "ra_ap_ide_db": Label("@vendor__ra_ap_ide_db-0.0.258//:ra_ap_ide_db"), + "ra_ap_intern": Label("@vendor__ra_ap_intern-0.0.258//:ra_ap_intern"), + "ra_ap_load-cargo": Label("@vendor__ra_ap_load-cargo-0.0.258//:ra_ap_load_cargo"), + "ra_ap_parser": Label("@vendor__ra_ap_parser-0.0.258//:ra_ap_parser"), + "ra_ap_paths": Label("@vendor__ra_ap_paths-0.0.258//:ra_ap_paths"), + "ra_ap_project_model": Label("@vendor__ra_ap_project_model-0.0.258//:ra_ap_project_model"), + "ra_ap_span": Label("@vendor__ra_ap_span-0.0.258//:ra_ap_span"), + "ra_ap_syntax": Label("@vendor__ra_ap_syntax-0.0.258//:ra_ap_syntax"), + "ra_ap_vfs": Label("@vendor__ra_ap_vfs-0.0.258//:ra_ap_vfs"), + "serde": Label("@vendor__serde-1.0.217//:serde"), + "serde_json": Label("@vendor__serde_json-1.0.135//:serde_json"), + "serde_with": Label("@vendor__serde_with-3.12.0//:serde_with"), + "stderrlog": Label("@vendor__stderrlog-0.6.0//:stderrlog"), + "toml": Label("@vendor__toml-0.8.19//:toml"), + "triomphe": Label("@vendor__triomphe-0.1.14//:triomphe"), }, }, "rust/extractor/macros": { _COMMON_CONDITION: { - "quote": Label("@vendor//:quote-1.0.38"), - "syn": Label("@vendor//:syn-2.0.96"), + "quote": Label("@vendor__quote-1.0.38//:quote"), + "syn": Label("@vendor__syn-2.0.96//:syn"), }, }, "shared/tree-sitter-extractor": { _COMMON_CONDITION: { - "chrono": Label("@vendor//:chrono-0.4.39"), - "encoding": Label("@vendor//:encoding-0.2.33"), - "flate2": Label("@vendor//:flate2-1.0.35"), - "globset": Label("@vendor//:globset-0.4.15"), - "lazy_static": Label("@vendor//:lazy_static-1.5.0"), - "num_cpus": Label("@vendor//:num_cpus-1.16.0"), - "rayon": Label("@vendor//:rayon-1.10.0"), - "regex": Label("@vendor//:regex-1.11.1"), - "serde": Label("@vendor//:serde-1.0.217"), - "serde_json": Label("@vendor//:serde_json-1.0.135"), - "tracing": Label("@vendor//:tracing-0.1.41"), - "tracing-subscriber": Label("@vendor//:tracing-subscriber-0.3.19"), - "tree-sitter": Label("@vendor//:tree-sitter-0.24.6"), + "chrono": Label("@vendor__chrono-0.4.39//:chrono"), + "encoding": Label("@vendor__encoding-0.2.33//:encoding"), + "flate2": Label("@vendor__flate2-1.0.35//:flate2"), + "globset": Label("@vendor__globset-0.4.15//:globset"), + "lazy_static": Label("@vendor__lazy_static-1.5.0//:lazy_static"), + "num_cpus": Label("@vendor__num_cpus-1.16.0//:num_cpus"), + "rayon": Label("@vendor__rayon-1.10.0//:rayon"), + "regex": Label("@vendor__regex-1.11.1//:regex"), + "serde": Label("@vendor__serde-1.0.217//:serde"), + "serde_json": Label("@vendor__serde_json-1.0.135//:serde_json"), + "tracing": Label("@vendor__tracing-0.1.41//:tracing"), + "tracing-subscriber": Label("@vendor__tracing-subscriber-0.3.19//:tracing_subscriber"), + "tree-sitter": Label("@vendor__tree-sitter-0.24.6//:tree_sitter"), }, }, } @@ -389,7 +389,7 @@ _NORMAL_ALIASES = { }, "rust/ast-generator": { _COMMON_CONDITION: { - Label("@vendor//:ra_ap_stdx-0.0.258"): "stdx", + Label("@vendor__ra_ap_stdx-0.0.258//:ra_ap_stdx"): "stdx", }, }, "rust/autobuild": { @@ -421,9 +421,9 @@ _NORMAL_DEV_DEPENDENCIES = { }, "shared/tree-sitter-extractor": { _COMMON_CONDITION: { - "rand": Label("@vendor//:rand-0.8.5"), - "tree-sitter-json": Label("@vendor//:tree-sitter-json-0.24.8"), - "tree-sitter-ql": Label("@vendor//:tree-sitter-ql-0.23.1"), + "rand": Label("@vendor__rand-0.8.5//:rand"), + "tree-sitter-json": Label("@vendor__tree-sitter-json-0.24.8//:tree_sitter_json"), + "tree-sitter-ql": Label("@vendor__tree-sitter-ql-0.23.1//:tree_sitter_ql"), }, }, } diff --git a/misc/bazel/3rdparty/update_py_deps.sh b/misc/bazel/3rdparty/update_py_deps.sh index 93522ffad70..88cbc4f2814 100755 --- a/misc/bazel/3rdparty/update_py_deps.sh +++ b/misc/bazel/3rdparty/update_py_deps.sh @@ -6,4 +6,6 @@ WORKSPACE_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../../.." &> /dev/nu cd "$WORKSPACE_DIR" time bazel run //misc/bazel/3rdparty:vendor_py_deps +# no idea why this is necessary, see https://github.com/bazelbuild/rules_rust/issues/3255 +python3 "$WORKSPACE_DIR/misc/bazel/3rdparty/patch_defs.py" misc/bazel/3rdparty/py_deps/defs.bzl bazel mod tidy diff --git a/misc/bazel/3rdparty/update_tree_sitter_extractors_deps.sh b/misc/bazel/3rdparty/update_tree_sitter_extractors_deps.sh index 6d122ca64d9..21a1b701ac2 100755 --- a/misc/bazel/3rdparty/update_tree_sitter_extractors_deps.sh +++ b/misc/bazel/3rdparty/update_tree_sitter_extractors_deps.sh @@ -10,4 +10,7 @@ time bazel run //misc/bazel/3rdparty:vendor_tree_sitter_extractors # we need access to this file in the rust extractor echo 'exports_files(["rust.ungram"])' >> misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_syntax-?.*.bazel +# no idea why this is necessary, see https://github.com/bazelbuild/rules_rust/issues/3255 +python3 "$WORKSPACE_DIR/misc/bazel/3rdparty/patch_defs.py" misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl + bazel mod tidy