commit d8faca69a6339d21e97ceee4def69082b9c0acba from: Sergey Bronnikov via: Vladimir Davydov date: Wed Apr 26 13:45:21 2023 UTC lua: implement stubs for etcd client To enable etcd client set the following CMake variables: - ENABLE_ETCD_CLIENT: ON - ETCD_CLIENT_DIR: path to a directory with etcd client Lua source files If ENABLE_ETCD_CLIENT is unset, then a stub implementation is built, which spits an error on attempt require etcd-client. Needed for https://github.com/tarantool/tarantool-ee/issues/443 MSG="stubs for enterprise version, no user-visible changes" NO_CHANGELOG=MSG NO_DOC=MSG NO_TEST=MSG commit - b71fa1a77a73ba55320a0e3c858a6b7d28e50bc1 commit + d8faca69a6339d21e97ceee4def69082b9c0acba blob - 8f00d6917094b02f08320fb07101471980d8f696 blob + bfa2ba999c9bbcb8afdfb113fef6266e1d11e17d --- src/CMakeLists.txt +++ src/CMakeLists.txt @@ -73,6 +73,23 @@ lua_source(lua_sources lua/compat.lua compat_lua) if (ENABLE_COMPRESS_MODULE) lua_source(lua_sources ${COMPRESS_MODULE_LUA_SOURCE} compress_lua) endif() +if (ENABLE_ETCD_CLIENT) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/client/auth_http.lua etcd_client_client_auth_http_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/client/http.lua etcd_client_client_http_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/client/jsstream.lua etcd_client_client_jsstream_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/client/pool.lua etcd_client_client_pool_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/error/etcd.lua etcd_client_error_etcd_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/error/http.lua etcd_client_error_http_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/grpc_json.lua etcd_client_grpc_json_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/init.lua etcd_client_init_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/math.lua etcd_client_math_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/protocol.lua etcd_client_protocol_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/subscribe/auto.lua etcd_client_subscribe_auto_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/subscribe/once.lua etcd_client_subscribe_once_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/txn.lua etcd_client_txn_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/utils.lua etcd_client_utils_lua) + lua_source(lua_sources ${ETCD_CLIENT_DIR}/etcd-client/version.lua etcd_client_version_lua) +endif() # 3rd party lua sources lua_source(lua_sources ../third_party/luafun/fun.lua fun_lua) blob - aba0160d1475bdbea681f735bb5d6f6376927c48 blob + c2d5dd53ec06ba6ce6d8763fa653240cc9f99844 --- src/lua/init.c +++ src/lua/init.c @@ -271,6 +271,23 @@ extern char minifio_lua[], luarocks_util_lua[], luarocks_core_util_lua[] #endif /* defined(EMBED_LUAROCKS) */ +#if ENABLE_ETCD_CLIENT + , etcd_client_client_auth_http_lua[], + etcd_client_client_http_lua[], + etcd_client_client_jsstream_lua[], + etcd_client_client_pool_lua[], + etcd_client_error_etcd_lua[], + etcd_client_error_http_lua[], + etcd_client_grpc_json_lua[], + etcd_client_init_lua[], + etcd_client_math_lua[], + etcd_client_protocol_lua[], + etcd_client_subscribe_auto_lua[], + etcd_client_subscribe_once_lua[], + etcd_client_txn_lua[], + etcd_client_utils_lua[], + etcd_client_version_lua[] +#endif ; static const char *lua_modules[] = { @@ -340,6 +357,27 @@ static const char *lua_modules[] = { "internal.print", print_lua, "internal.pairs", pairs_lua, "luadebug", luadebug_lua, +#if ENABLE_ETCD_CLIENT + /* + * Module components order is important here: components that required + * other modules must be loaded first. + */ + "etcd-client.version", etcd_client_version_lua, + "etcd-client.utils", etcd_client_utils_lua, + "etcd-client.math", etcd_client_math_lua, + "etcd-client.txn", etcd_client_txn_lua, + "etcd-client.grpc_json", etcd_client_grpc_json_lua, + "etcd-client.protocol", etcd_client_protocol_lua, + "etcd-client.subscribe.auto", etcd_client_subscribe_auto_lua, + "etcd-client.subscribe.once", etcd_client_subscribe_once_lua, + "etcd-client.error.etcd", etcd_client_error_etcd_lua, + "etcd-client.error.http", etcd_client_error_http_lua, + "etcd-client.client.pool", etcd_client_client_pool_lua, + "etcd-client.client.jsstream", etcd_client_client_jsstream_lua, + "etcd-client.client.http", etcd_client_client_http_lua, + "etcd-client.client.auth_http", etcd_client_client_auth_http_lua, + "etcd-client", etcd_client_init_lua, +#endif NULL }; blob - 7c5c79e592c9500470e8fb9d78ac8c2380793739 blob + 213c235e0a293c479590808369577780d80fcac6 --- src/trivia/config.h.cmake +++ src/trivia/config.h.cmake @@ -291,6 +291,7 @@ #cmakedefine ENABLE_READ_VIEW 1 #cmakedefine ENABLE_SECURITY 1 #cmakedefine ENABLE_COMPRESS_MODULE 1 +#cmakedefine ENABLE_ETCD_CLIENT 1 #cmakedefine EXPORT_LIBCURL_SYMBOLS 1