fix: fix taoskeeper version (#32425)

* style: format code

* fix: fix keeper version
This commit is contained in:
guozhenwei 2025-08-01 15:03:25 +08:00 committed by GitHub
parent 7cac54cb88
commit 462231f7f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 94 additions and 76 deletions

View File

@ -5,7 +5,7 @@ ENDIF()
add_subdirectory(shell)
IF(${TD_LINUX})
add_subdirectory(rocks-reader)
add_subdirectory(rocks-reader)
ENDIF()
IF(TD_BUILD_HTTP)
@ -13,7 +13,7 @@ IF(TD_BUILD_HTTP)
MESSAGE("${Yellow} use original embedded httpd ${ColourReset}")
MESSAGE("")
# ADD_SUBDIRECTORY(http)
# ADD_SUBDIRECTORY(http)
ELSEIF(TD_BUILD_TAOSA_INTERNAL)
MESSAGE("${Yellow} use taosa internal as httpd ${ColourReset}")
@ -59,26 +59,26 @@ ELSE()
MESSAGE("Building taosAdapter")
if(${TD_LINUX})
set(taosadapter_exe taosadapter)
set(taosadapter_exe taosadapter)
elseif(${TD_DARWIN})
set(taosadapter_exe taosadapter)
set(taosadapter_exe taosadapter)
elseif(${TD_WINDOWS})
set(taosadapter_exe taosadapter.exe)
set(taosadapter_exe taosadapter.exe)
endif()
# NOTE: for taos.h, but what'bout others, such as taoserror.h is possible!!!
# TODO: for TDengine.git, moving public headers, such as taoserror.h/taos.h, to a single public header directory?
set(_taos_h_dir "${CMAKE_CURRENT_SOURCE_DIR}/../include/client")
set(_taos_h_dir "${CMAKE_CURRENT_SOURCE_DIR}/../include/client")
# NOTE: where to find DSO built by ${TAOS_NATIVE_LIB}
# TODO: how would CMAKE_BINARY_DIR evaluate under TDinternal build?
set(_taos_lib_dir "${CMAKE_BINARY_DIR}/build/lib")
set(_taos_lib_dir "${CMAKE_BINARY_DIR}/build/lib")
# NOTE: CMakeLists.txt to be copied to taosadapter-src-tree, to make it builtable by cmake
# so that we can pass arguments via CMAKE_ARGS in a structural way
# TODO: shall we make taosadapter to provide CMakeLists.txt in it's own way
# so that we don't have to hand-make such process
set(_cmakelists "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/in/taosadapter.CMakeLists.txt.in")
set(_cmakelists "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/in/taosadapter.CMakeLists.txt.in")
# GIT_REPOSITORY https://github.com/taosdata/taosadapter.git
# GIT_TAG 3.0
@ -91,8 +91,8 @@ ELSE()
ExternalProject_Add(ext_taosadapter
GIT_REPOSITORY ${_git_url}
GIT_TAG ${TAOSADAPTER_GIT_TAG_NAME}
GIT_SHALLOW ${TAOSADAPTER_GIT_TAG_SHALLOW} # NOTE: if you specify branch other than main, please change this to FALSE
GIT_TAG ${TAOSADAPTER_GIT_TAG_NAME}
GIT_SHALLOW ${TAOSADAPTER_GIT_TAG_SHALLOW} # NOTE: if you specify branch other than main, please change this to FALSE
BUILD_IN_SOURCE TRUE
DEPENDS ${TAOS_NATIVE_LIB}
CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
@ -105,20 +105,20 @@ ELSE()
CMAKE_ARGS -DTD_VER_DATE:STRING=${TD_VER_DATE}
CMAKE_ARGS -DTD_GO_BUILD_OPTIONS:STRING=${TAOSADAPTER_BUILD_OPTIONS}
PATCH_COMMAND
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${_cmakelists} ./CMakeLists.txt
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${_cmakelists} ./CMakeLists.txt
BUILD_COMMAND
COMMAND "${CMAKE_COMMAND}" --build . --config "${TD_CONFIG_NAME}"
COMMAND "${CMAKE_COMMAND}" --build . --config "${TD_CONFIG_NAME}"
INSTALL_COMMAND
COMMAND "${CMAKE_COMMAND}" -E echo "NOTE: we don't install in this way"
# COMMAND "${CMAKE_COMMAND}" -E echo "Comparessing taosadapter.exe"
# COMMAND upx taosadapter || :
COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${taosadapter_exe} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${taosadapter_exe}
COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter.toml"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./example/config/taosadapter.toml ${CMAKE_BINARY_DIR}/test/cfg/taosadapter.toml
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./taosadapter.service ${CMAKE_BINARY_DIR}/test/cfg/taosadapter.service
# COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter-debug"
# COMMAND "${CMAKE_COMMAND}" -E copy taosadapter-debug ${CMAKE_BINARY_DIR}/build/bin
COMMAND "${CMAKE_COMMAND}" -E echo "NOTE: we don't install in this way"
# COMMAND "${CMAKE_COMMAND}" -E echo "Comparessing taosadapter.exe"
# COMMAND upx taosadapter || :
COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${taosadapter_exe} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${taosadapter_exe}
COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter.toml"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./example/config/taosadapter.toml ${CMAKE_BINARY_DIR}/test/cfg/taosadapter.toml
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./taosadapter.service ${CMAKE_BINARY_DIR}/test/cfg/taosadapter.service
# COMMAND "${CMAKE_COMMAND}" -E echo "Copy taosadapter-debug"
# COMMAND "${CMAKE_COMMAND}" -E copy taosadapter-debug ${CMAKE_BINARY_DIR}/build/bin
EXCLUDE_FROM_ALL TRUE
VERBATIM
)
@ -126,68 +126,86 @@ ELSE()
add_dependencies(build_ext_taosadapter ext_taosadapter)
ENDIF()
IF(TD_BUILD_KEEPER)
MESSAGE("")
MESSAGE("${Green} build taoskeeper, current platform is ${PLATFORM_ARCH_STR} ${ColourReset}")
if(TD_BUILD_KEEPER)
message("")
message("${Green} build taoskeeper, current platform is ${PLATFORM_ARCH_STR} ${ColourReset}")
EXECUTE_PROCESS(
execute_process(
COMMAND git rev-parse HEAD
OUTPUT_VARIABLE taoskeeper_commit_sha1
)
IF("${taoskeeper_commit_sha1}" STREQUAL "")
SET(taoskeeper_commit_sha1 "unknown")
ELSE()
STRING(STRIP "${taoskeeper_commit_sha1}" taoskeeper_commit_sha1)
ENDIF()
if("${taoskeeper_commit_sha1}" STREQUAL "")
set(taoskeeper_commit_sha1 "unknown")
else()
string(STRIP "${taoskeeper_commit_sha1}" taoskeeper_commit_sha1)
endif()
SET(taos_version ${TD_VER_NUMBER})
MESSAGE("${Green} taoskeeper will use ${taos_version} and commit ${taoskeeper_commit_sha1} as version ${ColourReset}")
MESSAGE(" current source dir is ${CMAKE_CURRENT_SOURCE_DIR}")
set(taoskeeper_version ${TD_VER_NUMBER})
message("${Green} taoskeeper will use ${taoskeeper_version} and commit ${taoskeeper_commit_sha1} as version ${ColourReset}")
message(" current source dir is ${CMAKE_CURRENT_SOURCE_DIR}")
IF(TD_DARWIN)
MESSAGE("Building taoskeeper on macOS")
set(taoskeeper_exe taoskeeper)
ELSEIF(TD_WINDOWS)
MESSAGE("Building taoskeeper on Windows")
set(taoskeeper_exe taoskeeper.exe)
ELSE()
MESSAGE("Building taoskeeper on Linux")
set(taoskeeper_exe taoskeeper)
ENDIF()
if(TD_DARWIN)
message("Building taoskeeper on macOS")
set(taoskeeper_exe taoskeeper)
elseif(TD_WINDOWS)
message("Building taoskeeper on Windows")
set(taoskeeper_exe taoskeeper.exe)
else()
message("Building taoskeeper on Linux")
set(taoskeeper_exe taoskeeper)
endif()
set(_ldflags_list
"-X 'github.com/taosdata/taoskeeper/version.TD_PRODUCT_NAME=${TD_PRODUCT_NAME}'"
"-X 'github.com/taosdata/taoskeeper/version.CUS_NAME=${CUS_NAME}'"
"-X 'github.com/taosdata/taoskeeper/version.CUS_PROMPT=${CUS_PROMPT}'"
"-X 'github.com/taosdata/taoskeeper/version.Version=${taos_version}'"
"-X 'github.com/taosdata/taoskeeper/version.Gitinfo=${taoskeeper_commit_sha1}'"
"-X 'github.com/taosdata/taoskeeper/version.CommitID=${taoskeeper_commit_sha1}'"
"-X 'github.com/taosdata/taoskeeper/version.BuildInfo=${TD_VER_OSTYPE}-${TD_VER_CPUTYPE} ${TD_VER_DATE}'"
)
string(JOIN " " _ldflags ${_ldflags_list})
if("${TD_PRODUCT_NAME}" STREQUAL "")
set(taoskeeper_product_name "TDengine TSDB-OSS")
else()
set(taoskeeper_product_name "${TD_PRODUCT_NAME}")
endif()
ExternalProject_Add(taoskeeper
PREFIX "taoskeeper"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/keeper
BUILD_ALWAYS off
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND cmake -E echo "taoskeeper no need cmake to config"
PATCH_COMMAND
COMMAND git clean -f -d
BUILD_COMMAND
# NOTE: remove -a for the moment, add it later if any problem found to be related
# TODO: tweak the pitfall, that fail to rebuild even source file is modified
COMMAND go build -ldflags "${_ldflags}"
INSTALL_COMMAND
COMMAND cmake -E echo "Copy taoskeeper"
COMMAND cmake -E copy_if_different ${taoskeeper_exe} ${CMAKE_BINARY_DIR}/build/bin/${taoskeeper_exe}
COMMAND cmake -E echo "Copy taoskeeper.toml"
COMMAND cmake -E copy_if_different ./config/taoskeeper.toml ${CMAKE_BINARY_DIR}/test/cfg/taoskeeper.toml
COMMAND cmake -E echo "Copy taoskeeper.service"
COMMAND cmake -E copy_if_different ./taoskeeper.service ${CMAKE_BINARY_DIR}/test/cfg/taoskeeper.service
)
if("${CUS_NAME}" STREQUAL "")
set(taoskeeper_cus_name "TDengine")
else()
set(taoskeeper_cus_name "${CUS_NAME}")
endif()
if("${CUS_PROMPT}" STREQUAL "")
set(taoskeeper_cus_prompt "taos")
else()
set(taoskeeper_cus_prompt "${CUS_PROMPT}")
endif()
set(_ldflags_list
"-X 'github.com/taosdata/taoskeeper/version.TD_PRODUCT_NAME=${taoskeeper_product_name}'"
"-X 'github.com/taosdata/taoskeeper/version.CUS_NAME=${taoskeeper_cus_name}'"
"-X 'github.com/taosdata/taoskeeper/version.CUS_PROMPT=${taoskeeper_cus_prompt}'"
"-X 'github.com/taosdata/taoskeeper/version.Version=${taoskeeper_version}'"
"-X 'github.com/taosdata/taoskeeper/version.Gitinfo=${taoskeeper_commit_sha1}'"
"-X 'github.com/taosdata/taoskeeper/version.CommitID=${taoskeeper_commit_sha1}'"
"-X 'github.com/taosdata/taoskeeper/version.BuildInfo=${TD_VER_OSTYPE}-${TD_VER_CPUTYPE} ${TD_VER_DATE}'"
)
string(JOIN " " _ldflags ${_ldflags_list})
ExternalProject_Add(taoskeeper
PREFIX "taoskeeper"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/keeper
BUILD_ALWAYS off
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND cmake -E echo "taoskeeper no need cmake to config"
PATCH_COMMAND
COMMAND git clean -f -d
BUILD_COMMAND
# NOTE: remove -a for the moment, add it later if any problem found to be related
# TODO: tweak the pitfall, that fail to rebuild even source file is modified
COMMAND go build -ldflags "${_ldflags}"
INSTALL_COMMAND
COMMAND cmake -E echo "Copy taoskeeper"
COMMAND cmake -E copy_if_different ${taoskeeper_exe} ${CMAKE_BINARY_DIR}/build/bin/${taoskeeper_exe}
COMMAND cmake -E echo "Copy taoskeeper.toml"
COMMAND cmake -E copy_if_different ./config/taoskeeper.toml ${CMAKE_BINARY_DIR}/test/cfg/taoskeeper.toml
COMMAND cmake -E echo "Copy taoskeeper.service"
COMMAND cmake -E copy_if_different ./taoskeeper.service ${CMAKE_BINARY_DIR}/test/cfg/taoskeeper.service
)
add_custom_target(build_taoskeeper ALL)
add_dependencies(build_taoskeeper taoskeeper)
ENDIF()
endif()