Skip to content

Commit

Permalink
Use clang-format resource in style cpp linter
Browse files Browse the repository at this point in the history
Use clang-format resouce in style cpp linter
commit_hash:440dce939163f75f5652a9d119a2d5f064e47e6e
  • Loading branch information
andrei-levitskii committed Nov 20, 2024
1 parent 1f50694 commit 2d3e35f
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 3 deletions.
19 changes: 19 additions & 0 deletions build/platform/clang/clang-format/clang-format16.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"by_platform": {
"darwin": {
"uri": "sbr:7402815718"
},
"darwin-arm64": {
"uri": "sbr:7402814010"
},
"linux": {
"uri": "sbr:7402818343"
},
"linux-aarch64": {
"uri": "sbr:7402817039"
},
"win32-clang-cl": {
"uri": "sbr:7402812744"
}
}
}
7 changes: 7 additions & 0 deletions build/platform/clang/clang-format/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
RESOURCES_LIBRARY()

# Note: the json below is also referred from build/ya.conf.json,
# please change these references consistently
DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(CLANG_FORMAT clang-format16.json)

END()
1 change: 1 addition & 0 deletions build/plugins/lib/test_const/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@
NODEJS_RESOURCE = 'NODEJS_RESOURCE_GLOBAL'
NYC_RESOURCE = 'NYC_RESOURCE_GLOBAL'
RUFF_RESOURCE = 'RUFF_RESOURCE_GLOBAL'
CLANG_FORMAT_RESOURCE = 'CLANG_FORMAT_RESOURCE_GLOBAL'

# test_tool resource for host platform.
# source - build/platform/test_tool/host.ya.make.inc.
Expand Down
4 changes: 2 additions & 2 deletions build/ymake.core.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5839,7 +5839,7 @@ macro YA_CONF_JSON(File) {
###
### Proxy. Don't use. Call _ADD_CPP_LINTER_CHECK directly if you need a new macro, see STYLE_CPP
macro _STYLE_CPP(CONFIG...) {
_ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker DEPENDS contrib/libs/clang16/tools/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS CUSTOM_CONFIG $CONFIG)
_ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker GLOBAL_RESOURCES build/platform/clang/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS CUSTOM_CONFIG $CONFIG)
}

# tag:internal
Expand All @@ -5858,7 +5858,7 @@ macro _ADD_CPP_LINTER_CHECK(Args...) {
### Run 'ya tool clang-format' test on all cpp sources and headers of the current module
macro STYLE_CPP() {
.ALLOWED_IN_COMMON=yes
_ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker DEPENDS contrib/libs/clang16/tools/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS)
_ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker GLOBAL_RESOURCES build/platform/clang/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS)
}

### @usage: HEADERS(<Dirs...> [EXCLUDE patterns...])
Expand Down
4 changes: 3 additions & 1 deletion tools/cpp_style_checker/__main__.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import difflib
import json
import os
import subprocess
import time
import yaml

from build.plugins.lib.test_const import CLANG_FORMAT_RESOURCE
from library.python.testing.custom_linter_util import linter_params, reporter
from library.python.testing.style import rules


def main():
params = linter_params.get_params()

clang_format_binary = params.depends["contrib/libs/clang16/tools/clang-format/clang-format"]
clang_format_binary = os.path.join(params.global_resources[CLANG_FORMAT_RESOURCE], 'clang-format')
style_config_path = params.configs[0]

with open(style_config_path) as f:
Expand Down
1 change: 1 addition & 0 deletions tools/cpp_style_checker/ya.make
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
PY3_PROGRAM()

PEERDIR(
build/plugins/lib/test_const
contrib/python/PyYAML
library/python/testing/custom_linter_util
library/python/testing/style
Expand Down

0 comments on commit 2d3e35f

Please sign in to comment.