summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnermolaev <[email protected]>2025-08-14 08:04:32 +0300
committersnermolaev <[email protected]>2025-08-14 08:20:46 +0300
commitc29c15d2a51aabf8c2c33010027c7726c2debfa2 (patch)
tree1da75bcd18f33fec81fdbc32d16cb559fc7060c7
parent98b7126a0bb791158ac330b295bc7036a2727edc (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.conf16
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