This is an automated email from the ASF dual-hosted git repository.
eldenmoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 0f7917f1007 [build](variant) Support release extra module hooks
(#64737)
0f7917f1007 is described below
commit 0f7917f100735cd507045d0313efbf23b88a019d
Author: lihangyu <[email protected]>
AuthorDate: Wed Jun 24 15:05:31 2026 +0800
[build](variant) Support release extra module hooks (#64737)
## Summary
- add a BE CMake option for Variant NestedGroup extension modules
- let the Storage target replace the default provider with external
extension sources when the option is enabled
- let BE unit tests include matching external extension test sources
when the option is enabled
- keep the change limited to existing build files shared by the public
and private trees
---
be/CMakeLists.txt | 5 +++++
be/src/storage/CMakeLists.txt | 8 ++++++++
be/test/CMakeLists.txt | 6 ++++++
3 files changed, 19 insertions(+)
diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt
index 0df7454eeac..4e7482ddc32 100644
--- a/be/CMakeLists.txt
+++ b/be/CMakeLists.txt
@@ -160,6 +160,8 @@ option(ENABLE_TDE "Enable TDE feature module" OFF)
set(TDE_MODULE_DIR "" CACHE STRING "TDE feature module directory under be/src")
option(ENABLE_TLS "Enable TLS feature module" OFF)
set(TLS_MODULE_DIR "" CACHE STRING "TLS feature module directory under be/src")
+option(ENABLE_VARIANT_NESTED_GROUP "Enable Variant NestedGroup feature module"
OFF)
+set(VARIANT_NESTED_GROUP_MODULE_DIR "" CACHE STRING "Variant NestedGroup
feature module directory under be/src")
if (ENABLE_TDE AND "${TDE_MODULE_DIR}" STREQUAL "")
message(FATAL_ERROR "ENABLE_TDE requires TDE_MODULE_DIR")
@@ -167,6 +169,9 @@ endif()
if (ENABLE_TLS AND "${TLS_MODULE_DIR}" STREQUAL "")
message(FATAL_ERROR "ENABLE_TLS requires TLS_MODULE_DIR")
endif()
+if (ENABLE_VARIANT_NESTED_GROUP AND "${VARIANT_NESTED_GROUP_MODULE_DIR}"
STREQUAL "")
+ message(FATAL_ERROR "ENABLE_VARIANT_NESTED_GROUP requires
VARIANT_NESTED_GROUP_MODULE_DIR")
+endif()
# Allow env to override when reconfiguring (avoid picking /usr/local).
if (DEFINED ENV{ENABLE_PAIMON_CPP})
diff --git a/be/src/storage/CMakeLists.txt b/be/src/storage/CMakeLists.txt
index 18a6109f610..e7a82b486db 100644
--- a/be/src/storage/CMakeLists.txt
+++ b/be/src/storage/CMakeLists.txt
@@ -29,6 +29,14 @@ file(GLOB_RECURSE SRC_FILES CONFIGURE_DEPENDS *.cpp)
# and linked by Storage.
list(FILTER SRC_FILES EXCLUDE REGEX ".*/storage/index/ann/.*\\.cpp$")
+if (ENABLE_VARIANT_NESTED_GROUP)
+ list(REMOVE_ITEM SRC_FILES
+
"${CMAKE_CURRENT_SOURCE_DIR}/segment/variant/nested_group_provider.cpp")
+ file(GLOB_RECURSE VARIANT_NESTED_GROUP_SOURCES CONFIGURE_DEPENDS
+
"${CMAKE_CURRENT_SOURCE_DIR}/../${VARIANT_NESTED_GROUP_MODULE_DIR}/*.cpp")
+ list(APPEND SRC_FILES ${VARIANT_NESTED_GROUP_SOURCES})
+endif()
+
add_library(Storage STATIC ${SRC_FILES})
target_link_libraries(Storage PRIVATE ann_index)
diff --git a/be/test/CMakeLists.txt b/be/test/CMakeLists.txt
index 94ddeda658f..2edcff5eef8 100644
--- a/be/test/CMakeLists.txt
+++ b/be/test/CMakeLists.txt
@@ -54,6 +54,12 @@ if (ENABLE_TLS)
list(APPEND UT_FILES ${TLS_UT_FILES})
endif()
+if (ENABLE_VARIANT_NESTED_GROUP)
+ file(GLOB_RECURSE VARIANT_NESTED_GROUP_UT_FILES CONFIGURE_DEPENDS
+
"${CMAKE_CURRENT_SOURCE_DIR}/${VARIANT_NESTED_GROUP_MODULE_DIR}/*.cpp")
+ list(APPEND UT_FILES ${VARIANT_NESTED_GROUP_UT_FILES})
+endif()
+
# Remove all cpp files from vector search (ANN index) subdirectory
# Since cpp files in vector search subdirs use header files from faiss.
# The compile check used by doris can not be applied to faiss headers.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]