diff options
author | snermolaev <[email protected]> | 2025-08-14 08:04:32 +0300 |
---|---|---|
committer | snermolaev <[email protected]> | 2025-08-14 08:20:46 +0300 |
commit | c29c15d2a51aabf8c2c33010027c7726c2debfa2 (patch) | |
tree | 1da75bcd18f33fec81fdbc32d16cb559fc7060c7 | |
parent | 98b7126a0bb791158ac330b295bc7036a2727edc (diff) |
CPP_EVLOG() macro
#### Замена макроса BUILD_PROTO_AS_EVLOG на CPP_EVLOG() 📝
- 🔄 **Замена директивы**: Во всех файлах `ya.make` заменена устаревшая директива `SET(BUILD_PROTO_AS_EVLOG yes)` на новый макрос `CPP_EVLOG()`.
- 🛠 **Исправление конфигурации**: В файле `build/conf/proto.conf` изменена глобальная переменная `BUILD_PROTO_AS_EVLOG` на `_BUILD_PROTO_AS_EVLOG` и добавлен новый макрос `CPP_EVLOG()`, который активирует генерацию событий (event2cpp) для прото-библиотек.
- 🚫 **Удаление устаревшего кода**: Из `build/internal/conf/project_specific/yabs.conf` удалён макрос `YABS_EVLOG()`, так как его функциональность теперь покрывается новым `CPP_EVLOG()`.
- ⚠️ **Проверка совместимости**: Добавлена проверка несовместимости `CPP_EVLOG()` с `USE_VANILLA_PROTOC` для предотвращения ошибок сборки.
- 📝 **Обновление документации**: В конфигурационных файлах добавлены комментарии и пояснения по использованию нового макроса.
---
**Оценить качество описания можно [здесь](https://nda.ya.ru/t/_MxIaV0Q7FnCMG**
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Code Assistant</font></a>
commit_hash:a9c2cf67fc8d631bde97111195ba7e99ef969fb6
-rw-r--r-- | build/conf/proto.conf | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/build/conf/proto.conf b/build/conf/proto.conf index 77c6eaf9c5b..f5f5a0964f4 100644 --- a/build/conf/proto.conf +++ b/build/conf/proto.conf @@ -27,7 +27,7 @@ _PROTOC_FLAGS= # tag:proto PY_PROTOS_FOR=no -BUILD_PROTO_AS_EVLOG=no +_BUILD_PROTO_AS_EVLOG=no # tag:proto PROTO_NAMESPACE= @@ -570,6 +570,16 @@ macro _JAVA_EVLOG_CMD(File) { .PEERDIR=library/cpp/eventlog/proto } +# tag:cpp-specific tag:proto +### @usage: CPP_EVLOG() +### +### Apply event2cpp proto plugin for all .proto files of PROTO_LIBRARY. +### This macro affects only c++ code generation - CPP_PROTO submodule. +macro CPP_EVLOG() { + CPP_PROTO_PLUGIN0(event2cpp tools/event2cpp DEPS library/cpp/eventlog) + ENABLE(_BUILD_PROTO_AS_EVLOG) +} + # tag:proto tag:grpc _GRPC_ENABLED=no _GRPC_SUF_CC=.grpc.pb.cc @@ -695,10 +705,10 @@ module _CPP_PROTO : LIBRARY { CPP_PROTOLIBS_DEBUG_INFO() SET(PEERDIR_TAGS) - when ($BUILD_PROTO_AS_EVLOG == "yes" && $USE_VANILLA_PROTOC == "yes") { + when ($_BUILD_PROTO_AS_EVLOG == "yes" && $USE_VANILLA_PROTOC == "yes") { _OK=no } - ASSERT(_OK BUILD_PROTO_AS_EVLOG and USE_VANILLA_PROTOC are incompatible yet) + ASSERT(_OK CPP_EVLOG() and USE_VANILLA_PROTOC are incompatible yet) MODULE_SUFFIX=$_CPP_PROTO_MODULE_SUFFIX MODULE_PREFIX=$_CPP_PROTO_MODULE_PREFIX |