diff options
author | ya-shishqa <ya-shishqa@yandex-team.com> | 2025-03-13 20:00:31 +0300 |
---|---|---|
committer | ya-shishqa <ya-shishqa@yandex-team.com> | 2025-03-13 20:23:52 +0300 |
commit | 748ebb918fb38afc92e4de4118f316d33e850b9b (patch) | |
tree | 22c59a148ba80601be5f41dc4c592af3a1978f39 /build | |
parent | d72b1a9403edec003d69eb1a21d2e37e4126ea86 (diff) | |
download | ydb-748ebb918fb38afc92e4de4118f316d33e850b9b.tar.gz |
extract cppyndexing to a separate module
#### Извлечение cpppyndexing в отдельный модуль 📝
- 📦 Извлечен cpppyndexer в отдельный модуль для улучшения модульности и повторного использования кода.
- 📝 Добавлен новый файл конфигурации для управления cpppyndexer, включая аргументы и выходные файлы.
- ♻️ Рефакторинг существующего кода для использования нового модуля cpppyndexer вместо прямого вызова.
- ✅ Добавлены тесты для проверки корректности работы нового модуля и его интеграции с существующими системами.
<a href="HIDDEN_URL"><font size="2">Autodescription by Code Assistant</font></a>
commit_hash:5f7476fdcbdd1e3595f34148076e7d42a838b501
Diffstat (limited to 'build')
-rw-r--r-- | build/conf/compilers/gnu_compiler.conf | 13 | ||||
-rw-r--r-- | build/conf/yndexing/cpp_instrumentation.conf | 20 | ||||
-rw-r--r-- | build/ymake.core.conf | 16 |
3 files changed, 30 insertions, 19 deletions
diff --git a/build/conf/compilers/gnu_compiler.conf b/build/conf/compilers/gnu_compiler.conf index 1c0b9df04d..045374757f 100644 --- a/build/conf/compilers/gnu_compiler.conf +++ b/build/conf/compilers/gnu_compiler.conf @@ -201,7 +201,6 @@ OBJECT_SUF=$OBJ_SUF$_CROSS_SUFFIX.o GCC_COMPILE_FLAGS=$EXTRA_C_FLAGS -c -o $_COMPILE_OUTPUTS ${pre=-I:_C__INCLUDE} EXTRA_COVERAGE_OUTPUT=${hide;noauto;output;suf=${OBJECT_SUF}.gcno:SRC} CLANG_TIDY_OUTPUT_FILE=${noauto;output;suf=${OBJECT_SUF}.tidyjson:SRC} -YNDEXER_OUTPUT_FILE=${noauto;output;suf=${OBJECT_SUF}${COMPILE_OUT_SUFFIX}.ydx.pb2:SRC} when ($DUMP_COMPILER_DEPS == "yes") { DUMP_DEPS=-MD ${hide;noauto;output;suf=${OBJ_SUF}.o.d:SRC} @@ -242,7 +241,7 @@ _CPP_ARGS_NEW=\ $CLANG_STATIC_ANALYZER_OPTIONS_NEW && \ $CLANG_TIDY_ARGS \ $_C_CPP_WRAPPER \ - $YNDEXER_ARGS \ + $CPPYNDEXER_ARGS \ $RETRY_ARGS \ $CXX_COMPILER \ $C_FLAGS_PLATFORM \ @@ -256,14 +255,14 @@ _CPP_ARGS_NEW=\ $_LANG_CFLAGS_VALUE_NEW \ ${input:SRC} \ $TOOLCHAIN_ENV \ - $YNDEXER_OUTPUT \ + $CPPYNDEXER_OUTPUT \ && $_COMPILER_TIME_TRACE_POSTPROCESS \ $_C_CPP_KV_STYLE_NEW _C_ARGS_NEW=\ $CLANG_TIDY_ARGS \ $_C_CPP_WRAPPER \ - $YNDEXER_ARGS \ + $CPPYNDEXER_ARGS \ $RETRY_ARGS \ $C_COMPILER \ $C_FLAGS_PLATFORM \ @@ -277,7 +276,7 @@ _C_ARGS_NEW=\ $SRCFLAGS \ ${input:SRC} \ $TOOLCHAIN_ENV \ - $YNDEXER_OUTPUT \ + $CPPYNDEXER_OUTPUT \ $_C_CPP_KV_STYLE_NEW \ $SCU_NAME_KV_NEW @@ -289,8 +288,8 @@ _C_ARGS_NEW=\ ### $EXTRA_OUTPUT ### $EXTRA_COVERAGE_OUTPUT ### $SRCFLAGS -### $YNDEXER_ARGS -### $YNDEXER_OUTPUT +### $CPPYNDEXER_ARGS +### $CPPYNDEXER_OUTPUT ### ### $GCC_COMPILE_FLAGS is substituted for $EXTRA_C_FLAGS -c -o ${OUTFILE} ${SRC} ${pre=-I:INC} _SRC_C_NODEPS_CMD=\ diff --git a/build/conf/yndexing/cpp_instrumentation.conf b/build/conf/yndexing/cpp_instrumentation.conf new file mode 100644 index 0000000000..c15c226479 --- /dev/null +++ b/build/conf/yndexing/cpp_instrumentation.conf @@ -0,0 +1,20 @@ +TOOL_CPPYNDEXER= + +CPPYNDEXER_ARGS= +CPPYNDEXER_OUTPUT= + +macro POPULATE_CPP_YNDEXING() { + when ($CODENAVIGATION && $NOCODENAVIGATION != "yes" && $CPP_YNDEXING && $CPP_YNDEXING != "no") { + CPPYNDEXER_BIN=${CPPYNDEXER_RESOURCE_GLOBAL}/yndexer + when ($TOOL_CPPYNDEXER != "") { + CPPYNDEXER_BIN=$TOOL_CPPYNDEXER + } + + CPPYNDEXER_ARGS=$YMAKE_PYTHON ${input:"build/scripts/yndexer.py"} $CPPYNDEXER_BIN 1500 $(SOURCE_ROOT) $ARCADIA_BUILD_ROOT ${input:SRC} + CPPYNDEXER_OUTPUT=${noauto;output;suf=${OBJ_CROSS_SUF}${COMPILE_OUT_SUFFIX}.ydx.pb2:SRC} + } + otherwise { + CPPYNDEXER_ARGS= + CPPYNDEXER_OUTPUT= + } +} diff --git a/build/ymake.core.conf b/build/ymake.core.conf index a6c315b8e5..9d7c0e43a1 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -99,6 +99,8 @@ when ($LOCAL && $XCODE) { @import "${CONF_ROOT}/conf/project_specific/other.conf" @import "${CONF_ROOT}/conf/project_specific/yt.conf" +@import "${CONF_ROOT}/conf/yndexing/cpp_instrumentation.conf" + SO_OUTPUTS=no when ($USE_PYTHON) { @@ -112,7 +114,6 @@ _TOOL_PROTOC_GEN_GO_GRPC_V2=vendor/google.golang.org/grpc/cmd/protoc-gen-go-grpc _TOOL_RESCOMPILER=tools/rescompiler _TOOL_RESCOMPRESSOR=tools/rescompressor _TOOL_RORESCOMPILER=tools/rorescompiler -TOOL_CPPYNDEXER= when ($DISABLE_SEPARATE_AUX_CPP != "yes") { SEPARATE_AUX_CPP=yes @@ -259,21 +260,10 @@ otherwise { # tag:codenav when ($CODENAVIGATION && $NOCODENAVIGATION != "yes") { - when ($TOOL_CPPYNDEXER == "") { - _TOOL_CPPYNDEXER_REAL=$CPPYNDEXER_RESOURCE_GLOBAL/yndexer - } - otherwise { - _TOOL_CPPYNDEXER_REAL=$TOOL_CPPYNDEXER - } - PY_PROGRAM_LINK_EXE=$LINK_EXE && ${hide;kv:"pyndex $TARGET"} - YNDEXER_ARGS=$YMAKE_PYTHON ${input:"build/scripts/yndexer.py"} $_TOOL_CPPYNDEXER_REAL 1500 $(SOURCE_ROOT) $ARCADIA_BUILD_ROOT ${input:SRC} - YNDEXER_OUTPUT=${noauto;output;suf=${OBJ_CROSS_SUF}${COMPILE_OUT_SUFFIX}.ydx.pb2:SRC} } otherwise { PY_PROGRAM_LINK_EXE=$LINK_EXE - YNDEXER_ARGS= - YNDEXER_OUTPUT= } when ($RETRY == "yes") { @@ -845,6 +835,8 @@ module _BASE_UNIT: _BARE_UNIT { ENABLE(USE_YASM_ASSEMBLER) ENABLE(_BISON_FLEX_SET_DEFAULTS) + + POPULATE_CPP_YNDEXING() } _LINKER_ID= |