From c31931a2e2aa0d1788e57c5360755b0a4d533852 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 15 Sep 2026 08:39:01 +0200 Subject: [PATCH 1/3] Move shared C# assembly-info scripts to misc/bazel/csharp `misc/bazel/csharp.bzl` is language-shared infra and should not reach into `csharp/`. Widen the moved targets to public, matching `misc/bazel`, so non-C# languages can use them. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- misc/bazel/csharp.bzl | 6 +++--- {csharp/scripts => misc/bazel/csharp}/BUILD.bazel | 4 ++-- {csharp/scripts => misc/bazel/csharp}/gen-assembly-info.py | 0 .../scripts => misc/bazel/csharp}/gen-git-assembly-info.py | 0 4 files changed, 5 insertions(+), 5 deletions(-) rename {csharp/scripts => misc/bazel/csharp}/BUILD.bazel (85%) rename {csharp/scripts => misc/bazel/csharp}/gen-assembly-info.py (100%) rename {csharp/scripts => misc/bazel/csharp}/gen-git-assembly-info.py (100%) diff --git a/misc/bazel/csharp.bzl b/misc/bazel/csharp.bzl index 0cf2e30d0de7..50baafe0bf3b 100644 --- a/misc/bazel/csharp.bzl +++ b/misc/bazel/csharp.bzl @@ -10,8 +10,8 @@ def _gen_assembly_info(name): native.genrule( name = assembly_info_gen, outs = [name + "AssemblyInfo.cs"], - cmd = "$(execpath //csharp/scripts:gen-assembly-info) $@ " + name, - tools = ["//csharp/scripts:gen-assembly-info"], + cmd = "$(execpath //misc/bazel/csharp:gen-assembly-info) $@ " + name, + tools = ["//misc/bazel/csharp:gen-assembly-info"], ) return ":" + assembly_info_gen @@ -83,7 +83,7 @@ def codeql_csharp_binary(name, **kwargs): srcs.append(assembly_info_gen) # always add the assembly info file that sets the AssemblyInformationalVersion attribute to the extractor version - srcs.append("//csharp/scripts:git-assembly-info-src") + srcs.append("//misc/bazel/csharp:git-assembly-info-src") csharp_binary_target = "bin/" + name publish_binary_target = "publish/" + name diff --git a/csharp/scripts/BUILD.bazel b/misc/bazel/csharp/BUILD.bazel similarity index 85% rename from csharp/scripts/BUILD.bazel rename to misc/bazel/csharp/BUILD.bazel index 8f4f239104e0..5cc5a3865617 100644 --- a/csharp/scripts/BUILD.bazel +++ b/misc/bazel/csharp/BUILD.bazel @@ -9,7 +9,7 @@ py_binary( py_binary( name = "gen-assembly-info", srcs = ["gen-assembly-info.py"], - visibility = ["//csharp:__subpackages__"], + visibility = ["//visibility:public"], deps = ["@rules_python//python/runfiles"], ) @@ -19,5 +19,5 @@ genrule( outs = ["GitAssemblyInfo.cs"], cmd = "$(execpath :gen-git-assembly-info) $@ $(SRCS)", tools = [":gen-git-assembly-info"], - visibility = ["//csharp:__subpackages__"], + visibility = ["//visibility:public"], ) diff --git a/csharp/scripts/gen-assembly-info.py b/misc/bazel/csharp/gen-assembly-info.py similarity index 100% rename from csharp/scripts/gen-assembly-info.py rename to misc/bazel/csharp/gen-assembly-info.py diff --git a/csharp/scripts/gen-git-assembly-info.py b/misc/bazel/csharp/gen-git-assembly-info.py similarity index 100% rename from csharp/scripts/gen-git-assembly-info.py rename to misc/bazel/csharp/gen-git-assembly-info.py From bf5c184420c07ae786aef2282901f26ad7317ed0 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 15 Sep 2026 09:21:01 +0200 Subject: [PATCH 2/3] Drop unused `runfiles` dep from assembly-info generators Neither script imports runfiles; they are plain `argparse`. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- misc/bazel/csharp/BUILD.bazel | 2 -- 1 file changed, 2 deletions(-) diff --git a/misc/bazel/csharp/BUILD.bazel b/misc/bazel/csharp/BUILD.bazel index 5cc5a3865617..21f4990dcf05 100644 --- a/misc/bazel/csharp/BUILD.bazel +++ b/misc/bazel/csharp/BUILD.bazel @@ -3,14 +3,12 @@ load("@rules_python//python:defs.bzl", "py_binary") py_binary( name = "gen-git-assembly-info", srcs = ["gen-git-assembly-info.py"], - deps = ["@rules_python//python/runfiles"], ) py_binary( name = "gen-assembly-info", srcs = ["gen-assembly-info.py"], visibility = ["//visibility:public"], - deps = ["@rules_python//python/runfiles"], ) genrule( From 47af197ac5b838a002549ed8a54ec60a47672790 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 15 Sep 2026 09:23:05 +0200 Subject: [PATCH 3/3] Stub `git_info` so C# targets analyse without the internal repository `.bazelrc` already overrides `semmle_code` with the in-repo stub, but the stub had no root package, so `@semmle_code//:git_info` could not resolve. Emit the three logs `gen-git-assembly-info` reads. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- misc/bazel/semmle_code_stub/BUILD.bazel | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 misc/bazel/semmle_code_stub/BUILD.bazel diff --git a/misc/bazel/semmle_code_stub/BUILD.bazel b/misc/bazel/semmle_code_stub/BUILD.bazel new file mode 100644 index 000000000000..59ba493671b8 --- /dev/null +++ b/misc/bazel/semmle_code_stub/BUILD.bazel @@ -0,0 +1,22 @@ +# Stand-in for the `git_info` target provided by the internal repository, so that targets +# depending on it (e.g. `//misc/bazel/csharp:git-assembly-info-src`) can be built from this +# repository in isolation. +genrule( + name = "git-info-files", + outs = [ + "git-describe-all.log", + "git-ql-describe-all.log", + "git-ql-rev-parse.log", + ], + cmd = """ + echo unknown > $(location git-describe-all.log) + echo no-git > $(location git-ql-describe-all.log) + echo unknown > $(location git-ql-rev-parse.log) + """, +) + +filegroup( + name = "git_info", + srcs = [":git-info-files"], + visibility = ["//visibility:public"], +)