From b931d3ebd50d820ce3f5df841c77ce8808bde3ea Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Wed, 25 Mar 2026 07:26:47 +0100 Subject: [PATCH] Adopt clang-tidy support from @score_cpp_policies --- .bazelrc | 6 + .clang-tidy | 21 + .github/workflows/clang_tidy.yml | 31 + BUILD | 1 + MODULE.bazel | 20 + MODULE.bazel.lock | 1188 ++++++++++++++++- score/mw/log/detail/common/BUILD | 6 +- .../detail/common/helper_functions_test.cpp | 2 +- tools/lint/BUILD.bazel | 17 + tools/lint/linters.bzl | 23 + 10 files changed, 1290 insertions(+), 25 deletions(-) create mode 100644 .clang-tidy create mode 100644 .github/workflows/clang_tidy.yml create mode 100644 tools/lint/BUILD.bazel create mode 100644 tools/lint/linters.bzl diff --git a/.bazelrc b/.bazelrc index aaf9466..711b98a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -82,3 +82,9 @@ coverage --combined_report=lcov coverage --test_env=COVERAGE_GCOV_OPTIONS=-bcu coverage --features=coverage coverage --cache_test_results=no + +# Clang-tidy: bazel test --config=clang-tidy //... +test:clang-tidy --aspects=//tools/lint:linters.bzl%clang_tidy_aspect +test:clang-tidy --output_groups=+rules_lint_report +test:clang-tidy --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux +test:clang-tidy --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..36235d1 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,21 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +# Clang-tidy configuration for score_logging. +Checks: > + -*, clang-analyzer-*, cert-*, cppcoreguidelines-*, bugprone-*, misc-*, performance-*, readability-*, modernize-* #magic___^_^___line +WarningsAsErrors: > + clang-analyzer-*, #magic___^_^___line +HeaderFilterRegex: '^(?!.*/third_party/).*' + +FormatStyle: file diff --git a/.github/workflows/clang_tidy.yml b/.github/workflows/clang_tidy.yml new file mode 100644 index 0000000..288b648 --- /dev/null +++ b/.github/workflows/clang_tidy.yml @@ -0,0 +1,31 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +name: Clang-Tidy + +on: + pull_request: + types: [opened, reopened, synchronize] + merge_group: + +jobs: + clang-tidy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Bazel + uses: bazel-contrib/setup-bazel@0.15.0 + with: + bazelisk-version: 1.26.0 + - name: Run clang-tidy + run: bazel test --config=clang-tidy --lockfile_mode=error //score/mw/... diff --git a/BUILD b/BUILD index 20272bc..ec08dc7 100644 --- a/BUILD +++ b/BUILD @@ -42,6 +42,7 @@ use_format_targets() exports_files([ "MODULE.bazel", + ".clang-tidy", ]) # Creates all documentation targets: diff --git a/MODULE.bazel b/MODULE.bazel index 4897d02..6bce5f1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -22,6 +22,16 @@ bazel_dep(name = "bazel_skylib", version = "1.7.1") bazel_dep(name = "rules_rust", version = "0.61.0") bazel_dep(name = "rules_cc", version = "0.1.1") bazel_dep(name = "aspect_rules_lint", version = "1.0.3") + +bazel_dep(name = "score_cpp_policies", version = "0.0.0", dev_dependency = True) +git_override( + module_name = "score_cpp_policies", + commit = "87b5b33dea15ff2e2dde1b0aae9cb982f49bc277", + remote = "https://github.com/RSingh1511/score_cpp_policies.git", +) + +bazel_dep(name = "toolchains_llvm", version = "1.5.0", dev_dependency = True) + bazel_dep(name = "buildifier_prebuilt", version = "7.3.1") bazel_dep(name = "platforms", version = "1.0.0") @@ -80,6 +90,16 @@ use_repo( "score_qcc_x86_64_toolchain", ) +llvm = use_extension( + "@toolchains_llvm//toolchain/extensions:llvm.bzl", + "llvm", + dev_dependency = True, +) +llvm.toolchain( + llvm_version = "19.1.7", +) +use_repo(llvm, "llvm_toolchain") + PYTHON_VERSION = "3.12" python = use_extension("@rules_python//python/extensions:python.bzl", "python", dev_dependency = True) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index bf275b7..3e4e25d 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -282,6 +282,7 @@ "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4", "https://bcr.bazel.build/modules/rules_cc/0.2.16/source.json": "d03d5cde49376d87e14ec14b666c56075e5e3926930327fd5d0484a1ff2ac1cc", + "https://bcr.bazel.build/modules/rules_cc/0.2.2/MODULE.bazel": "a0656c5a8ff7f76bb1319ebf301bab9d94da5b48894cac25a14ed115f9dd0884", "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc", "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", "https://bcr.bazel.build/modules/rules_diff/1.0.0/MODULE.bazel": "1739509d8db9a6cd7d3584822340d3dfe1f9f27e62462fbca60aa061d88741b2", @@ -404,6 +405,8 @@ "https://bcr.bazel.build/modules/tar.bzl/0.6.0/source.json": "4a620381df075a16cb3a7ed57bd1d05f7480222394c64a20fa51bdb636fda658", "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/MODULE.bazel": "9b8be503a4fcfd3b8b952525bff0869177a5234d5c35dc3e566b9f5ca2f755a1", "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/source.json": "88769ec576dddacafd8cca4631812cf8eead89f10a29d9405d9f7a553de6bf87", + "https://bcr.bazel.build/modules/toolchains_llvm/1.5.0/MODULE.bazel": "31c7077ef64bafdf2dfb46d4bca321b4e8f143b00ac68b2c31f5ff0c91044b60", + "https://bcr.bazel.build/modules/toolchains_llvm/1.5.0/source.json": "aecbd0eea924f27bf8d33d3823f1427e1eddc826ff96425e4304b0d7ad6d7ffa", "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9", @@ -621,6 +624,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.14/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_diff/1.0.0/MODULE.bazel": "not found", @@ -781,6 +785,7 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.5.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.6.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_llvm/1.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "not found", @@ -793,6 +798,104 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { + "@@aspect_rules_js+//npm:extensions.bzl%pnpm": { + "general": { + "bzlTransitiveDigest": "z9R57PYt8T9Wu/2SwhxlaNxEusUyr3WsInkutJ8hufU=", + "usagesDigest": "ZYGEy1FrDUNPBzAzD+ujlHkMEsVPMYOvpHm9RhUexUE=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "pnpm": { + "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_rule", + "attributes": { + "package": "pnpm", + "version": "8.6.7", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-vRIWpD/L4phf9Bk2o/O2TDR8fFoJnpYrp2TKqTIZF/qZ2/rgL3qKXzHofHgbXsinwMoSEigz28sqk3pQ+yMEQQ==", + "url": "", + "commit": "", + "patch_args": [ + "-p0" + ], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_binary\")\njs_binary(name = \"pnpm\", data = glob([\"package/**\"]), entry_point = \"package/dist/pnpm.cjs\", visibility = [\"//visibility:public\"])", + "generate_bzl_library_targets": false, + "extract_full_archive": true + } + }, + "pnpm__links": { + "repoRuleId": "@@aspect_rules_js+//npm/private:npm_import.bzl%npm_import_links", + "attributes": { + "package": "pnpm", + "version": "8.6.7", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": {}, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [ + "no-sandbox" + ], + "lifecycle_hooks_use_default_shell_env": false, + "bins": {}, + "npm_translate_lock_repo": "", + "package_visibility": [ + "//visibility:public" + ], + "replace_package": "" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "aspect_bazel_lib+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "aspect_bazel_lib+", + "bazel_tools", + "bazel_tools" + ], + [ + "aspect_rules_js+", + "aspect_bazel_lib", + "aspect_bazel_lib+" + ], + [ + "aspect_rules_js+", + "bazel_features", + "bazel_features+" + ], + [ + "aspect_rules_js+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "aspect_rules_js+", + "bazel_tools", + "bazel_tools" + ], + [ + "bazel_features+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, "@@aspect_rules_py+//py:extensions.bzl%py_tools": { "general": { "bzlTransitiveDigest": "/auhlg7ATdFttD+/XpCyzxusSYn4Pc9zPT+ABAWFEDw=", @@ -982,39 +1085,628 @@ "structure_test_st_windows_amd64": { "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", "attributes": { - "platform": "windows_amd64" + "platform": "windows_amd64" + } + }, + "structure_test_toolchains": { + "repoRuleId": "@@container_structure_test+//bazel:toolchains_repo.bzl%toolchains_repo", + "attributes": { + "toolchain_type": "@container_structure_test//bazel:structure_test_toolchain_type", + "toolchain": "@structure_test_st_{platform}//:structure_test_toolchain" + } + } + }, + "recordedRepoMappingEntries": [] + } + }, + "@@gazelle+//:extensions.bzl%go_deps": { + "general": { + "bzlTransitiveDigest": "B5la0IQ0ikF4Rx9OjYZg4KnBflAzCMy0MfsJPxZxXWk=", + "usagesDigest": "tfQCHJg51LFgV7hTP9SLQammcDdAISgPLeV+eH7GlJ4=", + "recordedFileInputs": { + "@@gazelle+//go.mod": "9ae159a385b2f244bbe964b9f91dbea6e7bd534e0b22e846655f241c65de2c49", + "@@gazelle+//go.sum": "7469786f3930030c430969cedae951e6947cb40f4a563dac94a350659c0fedc4", + "@@rules_buf+//go.mod": "c96e5c352880a2df5cd7294265df91c7bad4fb24ef3865ccb1b9ceb29341cf8a", + "@@rules_buf+//go.sum": "968d06e5d35e524686d63dda36b4fb82d5054a4c5a42a5da8214a43cc4e8edb3", + "@@rules_go+//go.mod": "a7143f329c2a3e0b983ce74a96c0c25b0d0c59d236d75f7e1b069aadd988d55e", + "@@rules_go+//go.sum": "022d36c9ebcc7b5dee1e9b85b3da9c9f3a529ee6f979946d66e4955b8d54614a" + }, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "com_github_bazelbuild_buildtools": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/bazelbuild/buildtools", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:2Gc2Q6hVR1SJ8bBI9Ybzoggp8u/ED2WkM4MfvEIn9+c=", + "replace": "", + "version": "v0.0.0-20231115204819-d4c9dccdfbb1" + } + }, + "com_github_stretchr_testify": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/stretchr/testify", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=", + "replace": "", + "version": "v1.8.4" + } + }, + "in_gopkg_yaml_v3": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "gopkg.in/yaml.v3", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=", + "replace": "", + "version": "v3.0.1" + } + }, + "com_github_davecgh_go_spew": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/davecgh/go-spew", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=", + "replace": "", + "version": "v1.1.1" + } + }, + "com_github_google_go_cmp": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/google/go-cmp", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=", + "replace": "", + "version": "v0.6.0" + } + }, + "com_github_pmezard_go_difflib": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/pmezard/go-difflib", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=", + "replace": "", + "version": "v1.0.0" + } + }, + "org_golang_x_mod": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/mod", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=", + "replace": "", + "version": "v0.14.0" + } + }, + "org_golang_x_sys": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/sys", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=", + "replace": "", + "version": "v0.14.0" + } + }, + "org_golang_x_tools_go_vcs": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/tools/go/vcs", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:cOIJqWBl99H1dH5LWizPa+0ImeeJq3t3cJjaeOWUAL4=", + "replace": "", + "version": "v0.1.0-deprecated" + } + }, + "in_gopkg_check_v1": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "gopkg.in/check.v1", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=", + "replace": "", + "version": "v1.0.0-20201130134442-10cb98267c6c" + } + }, + "com_github_gogo_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/gogo/protobuf", + "build_directives": [ + "gazelle:proto disable" + ], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=", + "replace": "", + "version": "v1.3.2" + } + }, + "com_github_golang_mock": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/mock", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=", + "replace": "", + "version": "v1.6.0" + } + }, + "com_github_golang_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/golang/protobuf", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=", + "replace": "", + "version": "v1.5.2" + } + }, + "org_golang_google_protobuf": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/protobuf", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=", + "replace": "", + "version": "v1.28.0" + } + }, + "org_golang_x_net": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/net", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=", + "replace": "", + "version": "v0.0.0-20210405180319-a5a99cb37ef4" + } + }, + "org_golang_x_text": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/text", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=", + "replace": "", + "version": "v0.3.3" + } + }, + "org_golang_google_genproto": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/genproto", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=", + "replace": "", + "version": "v0.0.0-20200526211855-cb27e3aa2013" + } + }, + "org_golang_google_grpc": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "google.golang.org/grpc", + "build_directives": [ + "gazelle:proto disable" + ], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:fPVVDxY9w++VjTZsYvXWqEf9Rqar/e+9zYfxKK+W+YU=", + "replace": "", + "version": "v1.50.0" + } + }, + "org_golang_x_tools": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/tools", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=", + "replace": "", + "version": "v0.13.0" + } + }, + "com_github_bmatcuk_doublestar_v4": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/bmatcuk/doublestar/v4", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I=", + "replace": "", + "version": "v4.6.1" + } + }, + "com_github_fsnotify_fsnotify": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "github.com/fsnotify/fsnotify", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=", + "replace": "", + "version": "v1.7.0" + } + }, + "org_golang_x_sync": { + "repoRuleId": "@@gazelle+//internal:go_repository.bzl%go_repository", + "attributes": { + "importpath": "golang.org/x/sync", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=", + "replace": "", + "version": "v0.4.0" + } + }, + "bazel_gazelle_go_repository_config": { + "repoRuleId": "@@gazelle+//internal/bzlmod:go_deps.bzl%_go_repository_config", + "attributes": { + "importpaths": { + "@gazelle+": "github.com/bazelbuild/bazel-gazelle", + "com_github_bazelbuild_buildtools": "github.com/bazelbuild/buildtools", + "@rules_go+": "github.com/bazelbuild/rules_go", + "com_github_stretchr_testify": "github.com/stretchr/testify", + "in_gopkg_yaml_v3": "gopkg.in/yaml.v3", + "com_github_davecgh_go_spew": "github.com/davecgh/go-spew", + "com_github_google_go_cmp": "github.com/google/go-cmp", + "com_github_pmezard_go_difflib": "github.com/pmezard/go-difflib", + "org_golang_x_mod": "golang.org/x/mod", + "org_golang_x_sys": "golang.org/x/sys", + "org_golang_x_tools_go_vcs": "golang.org/x/tools/go/vcs", + "in_gopkg_check_v1": "gopkg.in/check.v1", + "com_github_gogo_protobuf": "github.com/gogo/protobuf", + "com_github_golang_mock": "github.com/golang/mock", + "com_github_golang_protobuf": "github.com/golang/protobuf", + "org_golang_google_protobuf": "google.golang.org/protobuf", + "org_golang_x_net": "golang.org/x/net", + "org_golang_x_text": "golang.org/x/text", + "org_golang_google_genproto": "google.golang.org/genproto", + "org_golang_google_grpc": "google.golang.org/grpc", + "org_golang_x_tools": "golang.org/x/tools", + "com_github_bmatcuk_doublestar_v4": "github.com/bmatcuk/doublestar/v4", + "com_github_fsnotify_fsnotify": "github.com/fsnotify/fsnotify", + "org_golang_x_sync": "golang.org/x/sync", + "@rules_buf+": "github.com/bufbuild/rules_buf" + }, + "module_names": { + "@rules_buf+": "rules_buf", + "@rules_go+": "rules_go", + "@gazelle+": "gazelle" + }, + "build_naming_conventions": {} + } + } + }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO", + "reproducible": false + }, + "recordedRepoMappingEntries": [ + [ + "gazelle+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@gazelle+//internal/bzlmod:non_module_deps.bzl%non_module_deps": { + "general": { + "bzlTransitiveDigest": "AjbsH9WZCj0ipLarbbkp25YBRrRhWYvO7OIiTcHyyok=", + "usagesDigest": "/EIHHLtjAqjZiKFavzwtqyPtUxCp0xuO4NLoiFGXgIw=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "bazel_gazelle_go_repository_cache": { + "repoRuleId": "@@gazelle+//internal:go_repository_cache.bzl%go_repository_cache", + "attributes": { + "go_sdk_name": "@rules_go++go_sdk+go_default_sdk", + "go_env": {} + } + }, + "bazel_gazelle_go_repository_tools": { + "repoRuleId": "@@gazelle+//internal:go_repository_tools.bzl%go_repository_tools", + "attributes": { + "go_cache": "@@gazelle++non_module_deps+bazel_gazelle_go_repository_cache//:go.env" + } + }, + "bazel_gazelle_is_bazel_module": { + "repoRuleId": "@@gazelle+//internal:is_bazel_module.bzl%is_bazel_module", + "attributes": { + "is_bazel_module": true + } + } + }, + "recordedRepoMappingEntries": [ + [ + "gazelle+", + "bazel_gazelle_go_repository_cache", + "gazelle++non_module_deps+bazel_gazelle_go_repository_cache" + ], + [ + "gazelle+", + "go_host_compatible_sdk_label", + "rules_go++go_sdk+go_host_compatible_sdk_label" + ], + [ + "rules_go++go_sdk+go_host_compatible_sdk_label", + "go_default_sdk", + "rules_go++go_sdk+go_default_sdk" + ] + ] + } + }, + "@@pybind11_bazel+//:internal_configure.bzl%internal_configure_extension": { + "general": { + "bzlTransitiveDigest": "CkoYCqOgC/Xs59gJ1r3BNo2zDkwqdfWlBeZr5f004os=", + "usagesDigest": "tVQNvLoXMWAbiK39am3yovKGpwINdftfn7RpDyN+JZc=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "pybind11": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "build_file": "@@pybind11_bazel+//:pybind11-BUILD.bazel", + "strip_prefix": "pybind11-2.13.6", + "url": "https://github.com/pybind/pybind11/archive/refs/tags/v2.13.6.tar.gz", + "integrity": "sha256-4Iy4f0dz2pf6e18DXeh2OrxlbYfVdz5i9toFh9Hw7CA=" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "pybind11_bazel+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_buf+//buf:extensions.bzl%buf": { + "general": { + "bzlTransitiveDigest": "sePGRkBYa7vJOQz6tbLoOv/Ni52ygaAUBfoHdxtnwI8=", + "usagesDigest": "vxN6C2h72rUERbAmd1476FWpxdxo1NhYoY5JSFXJT3g=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "rules_buf_toolchains": { + "repoRuleId": "@@rules_buf+//buf/internal:toolchain.bzl%buf_download_releases", + "attributes": { + "version": "v1.47.2", + "sha256": "1b37b75dc0a777a0cba17fa2604bc9906e55bb4c578823d8b7a8fe3fc9fe4439" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_buf+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, + "@@rules_doxygen+//:extensions.bzl%doxygen_extension": { + "general": { + "bzlTransitiveDigest": "YFdBhqBEMcSankwSZ8cPe28DK9IgZ4CYmjBAJ+s50yA=", + "usagesDigest": "A79jNB9hZN4VO1M4gFWBuDM1mtZShfAzjtMqZ8bZo5E=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "doxygen": { + "repoRuleId": "@@rules_doxygen+//:extensions.bzl%doxygen_repository", + "attributes": { + "versions": [ + "1.14.0", + "1.14.0", + "1.14.0", + "1.14.0", + "1.14.0" + ], + "sha256s": [ + "3843742c604e145dab26f74ebd386af0656bc2feb6f834c12c1abb7b3c019d8b", + "ad2c71cb286100d4eaccd0b9d92751c88c4bd0501990f7eccc50aa946f827dc7", + "ad2c71cb286100d4eaccd0b9d92751c88c4bd0501990f7eccc50aa946f827dc7", + "e5d6ae24d0bf3f0cdc4d8f146726b89ca323922f19441af99b1872d503665ad6", + "e5d6ae24d0bf3f0cdc4d8f146726b89ca323922f19441af99b1872d503665ad6" + ], + "platforms": [ + "windows", + "mac", + "mac-arm", + "linux", + "linux-arm" + ], + "executables": [ + "", + "", + "", + "", + "" + ] + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_doxygen+", + "rules_doxygen", + "rules_doxygen+" + ] + ] + } + }, + "@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": { + "general": { + "bzlTransitiveDigest": "lxvzPQyluk241QRYY81nZHOcv5Id/5U2y6dp42qibis=", + "usagesDigest": "wy6ISK6UOcBEjj/mvJ/S3WeXoO67X+1llb9yPyFtPgc=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "platforms": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz" + ], + "sha256": "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74" + } + }, + "rules_python": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "d70cd72a7a4880f0000a6346253414825c19cdd40a28289bdf67b8e6480edff8", + "strip_prefix": "rules_python-0.28.0", + "url": "https://github.com/bazelbuild/rules_python/releases/download/0.28.0/rules_python-0.28.0.tar.gz" + } + }, + "bazel_skylib": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "cd55a062e763b9349921f0f5db8c3933288dc8ba4f76dd9416aac68acee3cb94", + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz" + ] + } + }, + "com_google_absl": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/abseil/abseil-cpp/archive/refs/tags/20240116.1.zip" + ], + "strip_prefix": "abseil-cpp-20240116.1", + "integrity": "sha256-7capMWOvWyoYbUaHF/b+I2U6XLMaHmky8KugWvfXYuk=" + } + }, + "rules_fuzzing_oss_fuzz": { + "repoRuleId": "@@rules_fuzzing+//fuzzing/private/oss_fuzz:repository.bzl%oss_fuzz_repository", + "attributes": {} + }, + "honggfuzz": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "build_file": "@@rules_fuzzing+//:honggfuzz.BUILD", + "sha256": "6b18ba13bc1f36b7b950c72d80f19ea67fbadc0ac0bb297ec89ad91f2eaa423e", + "url": "https://github.com/google/honggfuzz/archive/2.5.zip", + "strip_prefix": "honggfuzz-2.5" } }, - "structure_test_toolchains": { - "repoRuleId": "@@container_structure_test+//bazel:toolchains_repo.bzl%toolchains_repo", + "rules_fuzzing_jazzer": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "toolchain_type": "@container_structure_test//bazel:structure_test_toolchain_type", - "toolchain": "@structure_test_st_{platform}//:structure_test_toolchain" + "sha256": "ee6feb569d88962d59cb59e8a31eb9d007c82683f3ebc64955fd5b96f277eec2", + "url": "https://repo1.maven.org/maven2/com/code-intelligence/jazzer/0.20.1/jazzer-0.20.1.jar" } - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_buf+//buf:extensions.bzl%buf": { - "general": { - "bzlTransitiveDigest": "sePGRkBYa7vJOQz6tbLoOv/Ni52ygaAUBfoHdxtnwI8=", - "usagesDigest": "vxN6C2h72rUERbAmd1476FWpxdxo1NhYoY5JSFXJT3g=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "rules_buf_toolchains": { - "repoRuleId": "@@rules_buf+//buf/internal:toolchain.bzl%buf_download_releases", + }, + "rules_fuzzing_jazzer_api": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "version": "v1.47.2", - "sha256": "1b37b75dc0a777a0cba17fa2604bc9906e55bb4c578823d8b7a8fe3fc9fe4439" + "sha256": "f5a60242bc408f7fa20fccf10d6c5c5ea1fcb3c6f44642fec5af88373ae7aa1b", + "url": "https://repo1.maven.org/maven2/com/code-intelligence/jazzer-api/0.20.1/jazzer-api-0.20.1.jar" } } }, "recordedRepoMappingEntries": [ [ - "rules_buf+", + "rules_fuzzing+", "bazel_tools", "bazel_tools" ] @@ -1099,6 +1791,225 @@ ] } }, + "@@rules_go+//go/private:extensions.bzl%non_module_dependencies": { + "general": { + "bzlTransitiveDigest": "A7MyqJOvGxGWVWzyNwZIpQEFk1JOW63EiDlVEdfoDuo=", + "usagesDigest": "JL1XfI3Chd9vaoVGnIlNXDdHjWcf9WYe/Lu+A1HCC74=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "bazel_skylib": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.2/bazel-skylib-1.4.2.tar.gz" + ], + "sha256": "66ffd9315665bfaafc96b52278f57c7e2dd09f5ede279ea6d39b2be471e7e3aa", + "strip_prefix": "" + } + }, + "org_golang_x_tools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.7.0.zip", + "https://github.com/golang/tools/archive/refs/tags/v0.7.0.zip" + ], + "sha256": "9f20a20f29f4008d797a8be882ef82b69cf8f7f2b96dbdfe3814c57d8280fa4b", + "strip_prefix": "tools-0.7.0", + "patches": [ + "@@rules_go+//third_party:org_golang_x_tools-deletegopls.patch", + "@@rules_go+//third_party:org_golang_x_tools-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "org_golang_x_tools_go_vcs": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/go/vcs/v0.1.0-deprecated.zip", + "https://github.com/golang/tools/archive/refs/tags/go/vcs/v0.1.0-deprecated.zip" + ], + "sha256": "1b389268d126467105305ae4482df0189cc80a13aaab28d0946192b4ad0737a8", + "strip_prefix": "tools-go-vcs-v0.1.0-deprecated/go/vcs", + "patches": [ + "@@rules_go+//third_party:org_golang_x_tools_go_vcs-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "org_golang_x_sys": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/sys/archive/refs/tags/v0.12.0.zip", + "https://github.com/golang/sys/archive/refs/tags/v0.12.0.zip" + ], + "sha256": "229b079d23d18f5b1a0c46335020cddc6e5d543da2dae6e45b59d84b5d074e3a", + "strip_prefix": "sys-0.12.0", + "patches": [ + "@@rules_go+//third_party:org_golang_x_sys-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "org_golang_x_xerrors": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip", + "https://github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip" + ], + "sha256": "ffad2b06ef2e09d040da2ff08077865e99ab95d4d0451737fc8e33706bb01634", + "strip_prefix": "xerrors-04be3eba64a22a838cdb17b8dca15a52871c08b4", + "patches": [ + "@@rules_go+//third_party:org_golang_x_xerrors-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "org_golang_google_protobuf": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "f5d1f6d0e9b836aceb715f1df2dc065083a55b07ecec3b01b5e89d039b14da02", + "urls": [ + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.31.0.zip", + "https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.31.0.zip" + ], + "strip_prefix": "protobuf-go-1.31.0", + "patches": [ + "@@rules_go+//third_party:org_golang_google_protobuf-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "com_github_golang_protobuf": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip", + "https://github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip" + ], + "sha256": "2dced4544ae5372281e20f1e48ca76368355a01b31353724718c4d6e3dcbb430", + "strip_prefix": "protobuf-1.5.3", + "patches": [ + "@@rules_go+//third_party:com_github_golang_protobuf-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "com_github_mwitkow_go_proto_validators": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip", + "https://github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip" + ], + "sha256": "d8697f05a2f0eaeb65261b480e1e6035301892d9fc07ed945622f41b12a68142", + "strip_prefix": "go-proto-validators-0.3.2" + } + }, + "com_github_gogo_protobuf": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip", + "https://github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip" + ], + "sha256": "f89f8241af909ce3226562d135c25b28e656ae173337b3e58ede917aa26e1e3c", + "strip_prefix": "protobuf-1.3.2", + "patches": [ + "@@rules_go+//third_party:com_github_gogo_protobuf-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "gogo_special_proto": { + "repoRuleId": "@@rules_go+//proto:gogo.bzl%gogo_special_proto", + "attributes": {} + }, + "org_golang_google_genproto": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/007df8e322eb3e384d36c0821e2337825c203ca6.zip", + "https://github.com/googleapis/go-genproto/archive/007df8e322eb3e384d36c0821e2337825c203ca6.zip" + ], + "sha256": "e7d0f3faed86258ed4e8e5527a8e98ff00fbd5b1a9b379a99a4aa2f76ce8bbcc", + "strip_prefix": "go-genproto-007df8e322eb3e384d36c0821e2337825c203ca6", + "patches": [ + "@@rules_go+//third_party:org_golang_google_genproto-gazelle.patch" + ], + "patch_args": [ + "-p1" + ] + } + }, + "com_github_golang_mock": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip", + "https://github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip" + ], + "patches": [ + "@@rules_go+//third_party:com_github_golang_mock-gazelle.patch" + ], + "patch_args": [ + "-p1" + ], + "sha256": "5359c78b0c1649cf7beb3b48ff8b1d1aaf0243b22ea4789aba94805280075d8e", + "strip_prefix": "mock-1.7.0-rc.1" + } + }, + "io_bazel_rules_nogo": { + "repoRuleId": "@@rules_go+//go/private:nogo.bzl%go_register_nogo", + "attributes": { + "nogo": "@io_bazel_rules_go//:default_nogo" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "bazel_features+", + "bazel_features_globals", + "bazel_features++version_extension+bazel_features_globals" + ], + [ + "bazel_features+", + "bazel_features_version", + "bazel_features++version_extension+bazel_features_version" + ], + [ + "rules_go+", + "bazel_features", + "bazel_features+" + ], + [ + "rules_go+", + "bazel_tools", + "bazel_tools" + ] + ] + } + }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { "bzlTransitiveDigest": "hUTp2w+RUVdL7ma5esCXZJAFnX7vLbVfLd7FwnQI6bU=", @@ -7364,6 +8275,158 @@ ] } }, + "@@rules_rust+//crate_universe/private:internal_extensions.bzl%cu_nr": { + "general": { + "bzlTransitiveDigest": "Dj700nTFKG9jauBLWlypm3MGGShb+J1uliyteGKijDA=", + "usagesDigest": "dQ7SQZ7uSSL3vVKSMBKRxKJUm9OVrZZA+S1/QQfT570=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "cargo_bazel_bootstrap": { + "repoRuleId": "@@rules_rust+//cargo/private:cargo_bootstrap.bzl%cargo_bootstrap_repository", + "attributes": { + "srcs": [ + "@@rules_rust+//crate_universe:src/api.rs", + "@@rules_rust+//crate_universe:src/api/lockfile.rs", + "@@rules_rust+//crate_universe:src/cli.rs", + "@@rules_rust+//crate_universe:src/cli/generate.rs", + "@@rules_rust+//crate_universe:src/cli/query.rs", + "@@rules_rust+//crate_universe:src/cli/render.rs", + "@@rules_rust+//crate_universe:src/cli/splice.rs", + "@@rules_rust+//crate_universe:src/cli/vendor.rs", + "@@rules_rust+//crate_universe:src/config.rs", + "@@rules_rust+//crate_universe:src/context.rs", + "@@rules_rust+//crate_universe:src/context/crate_context.rs", + "@@rules_rust+//crate_universe:src/context/platforms.rs", + "@@rules_rust+//crate_universe:src/lib.rs", + "@@rules_rust+//crate_universe:src/lockfile.rs", + "@@rules_rust+//crate_universe:src/main.rs", + "@@rules_rust+//crate_universe:src/metadata.rs", + "@@rules_rust+//crate_universe:src/metadata/cargo_bin.rs", + "@@rules_rust+//crate_universe:src/metadata/cargo_tree_resolver.rs", + "@@rules_rust+//crate_universe:src/metadata/cargo_tree_rustc_wrapper.bat", + "@@rules_rust+//crate_universe:src/metadata/cargo_tree_rustc_wrapper.sh", + "@@rules_rust+//crate_universe:src/metadata/dependency.rs", + "@@rules_rust+//crate_universe:src/metadata/metadata_annotation.rs", + "@@rules_rust+//crate_universe:src/rendering.rs", + "@@rules_rust+//crate_universe:src/rendering/template_engine.rs", + "@@rules_rust+//crate_universe:src/rendering/templates/module_bzl.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/partials/header.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/partials/module/aliases_map.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/partials/module/deps_map.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/partials/module/repo_git.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/partials/module/repo_http.j2", + "@@rules_rust+//crate_universe:src/rendering/templates/vendor_module.j2", + "@@rules_rust+//crate_universe:src/rendering/verbatim/alias_rules.bzl", + "@@rules_rust+//crate_universe:src/select.rs", + "@@rules_rust+//crate_universe:src/splicing.rs", + "@@rules_rust+//crate_universe:src/splicing/cargo_config.rs", + "@@rules_rust+//crate_universe:src/splicing/crate_index_lookup.rs", + "@@rules_rust+//crate_universe:src/splicing/splicer.rs", + "@@rules_rust+//crate_universe:src/test.rs", + "@@rules_rust+//crate_universe:src/utils.rs", + "@@rules_rust+//crate_universe:src/utils/starlark.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/glob.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/label.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/select.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/select_dict.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/select_list.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/select_scalar.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/select_set.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/serialize.rs", + "@@rules_rust+//crate_universe:src/utils/starlark/target_compatible_with.rs", + "@@rules_rust+//crate_universe:src/utils/symlink.rs", + "@@rules_rust+//crate_universe:src/utils/target_triple.rs" + ], + "binary": "cargo-bazel", + "cargo_lockfile": "@@rules_rust+//crate_universe:Cargo.lock", + "cargo_toml": "@@rules_rust+//crate_universe:Cargo.toml", + "version": "1.86.0", + "timeout": 900, + "rust_toolchain_cargo_template": "@rust_host_tools//:bin/{tool}", + "rust_toolchain_rustc_template": "@rust_host_tools//:bin/{tool}", + "compressed_windows_toolchain_names": false + } + } + }, + "moduleExtensionMetadata": { + "explicitRootModuleDirectDeps": [ + "cargo_bazel_bootstrap" + ], + "explicitRootModuleDirectDevDeps": [], + "useAllRepos": "NO", + "reproducible": false + }, + "recordedRepoMappingEntries": [ + [ + "bazel_features+", + "bazel_features_globals", + "bazel_features++version_extension+bazel_features_globals" + ], + [ + "bazel_features+", + "bazel_features_version", + "bazel_features++version_extension+bazel_features_version" + ], + [ + "rules_cc+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_cc+", + "cc_compatibility_proxy", + "rules_cc++compatibility_proxy+cc_compatibility_proxy" + ], + [ + "rules_cc+", + "rules_cc", + "rules_cc+" + ], + [ + "rules_cc++compatibility_proxy+cc_compatibility_proxy", + "rules_cc", + "rules_cc+" + ], + [ + "rules_rust+", + "bazel_features", + "bazel_features+" + ], + [ + "rules_rust+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "rules_rust+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_rust+", + "cui", + "rules_rust++cu+cui" + ], + [ + "rules_rust+", + "rrc", + "rules_rust++i2+rrc" + ], + [ + "rules_rust+", + "rules_cc", + "rules_cc+" + ], + [ + "rules_rust+", + "rules_rust", + "rules_rust+" + ] + ] + } + }, "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": { "general": { "bzlTransitiveDigest": "TbNzwA0gRf4l9bjaTnkI4qApNVhVchnI1gyX2N5Penc=", @@ -7627,6 +8690,85 @@ "recordedRepoMappingEntries": [] } }, + "@@toolchains_llvm+//toolchain/extensions:llvm.bzl%llvm": { + "general": { + "bzlTransitiveDigest": "6J0Uis1p3AmdHq6FLnJuEL6+ZyP37oFSHPZmrf6oHQw=", + "usagesDigest": "4U2UluL8VemMNHCPOPn98YTeDwGdvqLjk1Jbftlzp7I=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "llvm_toolchain_llvm": { + "repoRuleId": "@@toolchains_llvm+//toolchain:rules.bzl%llvm", + "attributes": { + "alternative_llvm_sources": [], + "auth_patterns": {}, + "distribution": "auto", + "exec_arch": "", + "exec_os": "", + "extra_llvm_distributions": {}, + "libclang_rt": {}, + "llvm_mirror": "", + "llvm_version": "19.1.7", + "llvm_versions": {}, + "netrc": "", + "sha256": {}, + "strip_prefix": {}, + "urls": {} + } + }, + "llvm_toolchain": { + "repoRuleId": "@@toolchains_llvm+//toolchain:rules.bzl%toolchain", + "attributes": { + "absolute_paths": false, + "archive_flags": {}, + "compile_flags": {}, + "conly_flags": {}, + "coverage_compile_flags": {}, + "coverage_link_flags": {}, + "cxx_builtin_include_directories": {}, + "cxx_flags": {}, + "cxx_standard": {}, + "dbg_compile_flags": {}, + "exec_arch": "", + "exec_os": "", + "extra_exec_compatible_with": {}, + "extra_target_compatible_with": {}, + "fastbuild_compile_flags": {}, + "link_flags": {}, + "link_libs": {}, + "llvm_versions": { + "": "19.1.7" + }, + "opt_compile_flags": {}, + "opt_link_flags": {}, + "stdlib": {}, + "target_settings": {}, + "unfiltered_compile_flags": {}, + "toolchain_roots": {}, + "sysroot": {} + } + } + }, + "recordedRepoMappingEntries": [ + [ + "toolchains_llvm+", + "bazel_skylib", + "bazel_skylib+" + ], + [ + "toolchains_llvm+", + "bazel_tools", + "bazel_tools" + ], + [ + "toolchains_llvm+", + "toolchains_llvm", + "toolchains_llvm+" + ] + ] + } + }, "@@yq.bzl+//yq:extensions.bzl%yq": { "general": { "bzlTransitiveDigest": "61Uz+o5PnlY0jJfPZEUNqsKxnM/UCLeWsn5VVCc8u5Y=", diff --git a/score/mw/log/detail/common/BUILD b/score/mw/log/detail/common/BUILD index 10f953e..661f0db 100644 --- a/score/mw/log/detail/common/BUILD +++ b/score/mw/log/detail/common/BUILD @@ -326,10 +326,14 @@ cc_test( srcs = [ "@score_baselibs//score/mw/log:log_stream_test.cpp", ], + copts = ["-Wno-deprecated-declarations"], # src from @score_baselibs uses deprecated APIs features = COMPILER_WARNING_FEATURES + [ "aborts_upon_exception", ], - tags = ["unit"], + tags = [ + "no-clang-tidy", # src from @score_baselibs, cannot suppress deprecations in source + "unit", + ], deps = [ "//score/mw/log/detail/common:recorder_factory", "@googletest//:gtest_main", diff --git a/score/mw/log/detail/common/helper_functions_test.cpp b/score/mw/log/detail/common/helper_functions_test.cpp index c5c761a..0605883 100644 --- a/score/mw/log/detail/common/helper_functions_test.cpp +++ b/score/mw/log/detail/common/helper_functions_test.cpp @@ -20,7 +20,7 @@ namespace helper using testing::Types; TEST(SumTest, SumNoOverflow) { - std::numeric_limits::max(); + std::ignore = std::numeric_limits::max(); const std::size_t expected_value = 6U; std::size_t result = Sum(1U, 2U, 3U); EXPECT_EQ(result, expected_value); diff --git a/tools/lint/BUILD.bazel b/tools/lint/BUILD.bazel new file mode 100644 index 0000000..8650160 --- /dev/null +++ b/tools/lint/BUILD.bazel @@ -0,0 +1,17 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +exports_files( + ["linters.bzl"], + visibility = ["//visibility:public"], +) diff --git a/tools/lint/linters.bzl b/tools/lint/linters.bzl new file mode 100644 index 0000000..8917852 --- /dev/null +++ b/tools/lint/linters.bzl @@ -0,0 +1,23 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +"""Clang-tidy linter configuration for score_logging.""" + +load("@score_cpp_policies//clang_tidy:defs.bzl", "make_clang_tidy_aspect", "make_clang_tidy_test") + +clang_tidy_aspect = make_clang_tidy_aspect( + binary = Label("@llvm_toolchain//:clang-tidy"), + configs = [Label("//:.clang-tidy")], +) + +clang_tidy_test = make_clang_tidy_test(aspect = clang_tidy_aspect)