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]

Reply via email to