diff --git a/.gitmodules b/.gitmodules index 99ef5f0943..7e88cfe1b9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -32,3 +32,6 @@ [submodule "components/core/submodules/utfcpp"] path = components/core/submodules/utfcpp url = https://github.com/nemtrif/utfcpp.git +[submodule "components/core/submodules/ystdlib-cpp"] + path = components/core/submodules/ystdlib-cpp + url = https://github.com/y-scope/ystdlib-cpp.git diff --git a/components/core/.clang-format b/components/core/.clang-format index 4d0d3a87ce..bcd2660465 100644 --- a/components/core/.clang-format +++ b/components/core/.clang-format @@ -5,7 +5,8 @@ IncludeCategories: # Library headers. Update when adding new libraries. # NOTE: clang-format retains leading white-space on a line in violation of the YAML spec. - Regex: "<(absl|antlr4|archive|boost|bsoncxx|catch2|curl|date|fmt|json|log_surgeon|lzma|mongocxx\ -|msgpack|mysql|openssl|outcome|regex_utils|simdjson|spdlog|sqlite3|string_utils|yaml-cpp|zstd)" +|msgpack|mysql|openssl|outcome|regex_utils|simdjson|spdlog|sqlite3|string_utils|yaml-cpp|ystdlib\ +|zstd)" Priority: 3 # C system headers - Regex: "^<.+\\.h>" diff --git a/components/core/CMakeLists.txt b/components/core/CMakeLists.txt index ae3fa9c21f..2c3479afd8 100644 --- a/components/core/CMakeLists.txt +++ b/components/core/CMakeLists.txt @@ -224,6 +224,10 @@ find_package(Threads REQUIRED) # Add yaml-cpp add_subdirectory(submodules/yaml-cpp EXCLUDE_FROM_ALL) +# Add ystdlib-cpp +set(YSTDLIB_CPP_BUILD_TESTING OFF) +add_subdirectory(submodules/ystdlib-cpp EXCLUDE_FROM_ALL) + # Find and setup ZStd Library if(CLP_USE_STATIC_LIBS) set(ZStd_USE_STATIC_LIBS ON) diff --git a/components/core/submodules/ystdlib-cpp b/components/core/submodules/ystdlib-cpp new file mode 160000 index 0000000000..d1b4ae0e6c --- /dev/null +++ b/components/core/submodules/ystdlib-cpp @@ -0,0 +1 @@ +Subproject commit d1b4ae0e6cc614dfbe6e4570719d41d9d4f93a3a diff --git a/deps-tasks.yml b/deps-tasks.yml index 449e2c6812..2c1f052a4f 100644 --- a/deps-tasks.yml +++ b/deps-tasks.yml @@ -20,6 +20,7 @@ vars: G_UTFCPP_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/deps#utfcpp.md5" G_YAML_CPP_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/deps#yaml-cpp.md5" G_YSCOPE_LOG_VIEWER_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/deps#yscope-log-viewer.md5" + G_YSTDLIB_CPP_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/deps#ystdlib-cpp.md5" tasks: default: @@ -41,6 +42,7 @@ tasks: - "{{.G_SQLITE3_CHECKSUM_FILE}}" - "{{.G_UTFCPP_CHECKSUM_FILE}}" - "{{.G_YAML_CPP_CHECKSUM_FILE}}" + - "{{.G_YSTDLIB_CPP_CHECKSUM_FILE}}" generates: ["{{.G_DEPS_CORE_CHECKSUM_FILE}}"] deps: ["all-internal-deps"] cmds: @@ -57,6 +59,7 @@ tasks: "{{.G_SQLITE3_CHECKSUM_FILE}}" "{{.G_UTFCPP_CHECKSUM_FILE}}" "{{.G_YAML_CPP_CHECKSUM_FILE}}" + "{{.G_YSTDLIB_CPP_CHECKSUM_FILE}}" >> "{{.G_DEPS_CORE_CHECKSUM_FILE}}" log-viewer: @@ -99,6 +102,7 @@ tasks: - task: "utfcpp" - task: "yaml-cpp" - task: "yscope-log-viewer" + - task: "ystdlib-cpp" abseil-cpp: internal: true @@ -463,6 +467,37 @@ tasks: CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" INCLUDE_PATTERNS: ["{{.DEST}}"] + ystdlib-cpp: + internal: true + vars: + CHECKSUM_FILE: "{{.G_YSTDLIB_CPP_CHECKSUM_FILE}}" + DEST: "{{.G_CORE_COMPONENT_SUBMODULES_DIR}}/ystdlib-cpp" + sources: + - "{{.G_DEP_DOWNLOAD_SCRIPT}}" + - "{{.G_UTILS_TASKFILE}}" + - "{{.ROOT_DIR}}/Taskfile.yml" + - "{{.TASKFILE}}" + generates: ["{{.CHECKSUM_FILE}}"] + deps: + - ":init" + - task: ":utils:checksum:validate" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: ["{{.DEST}}"] + cmds: + - task: "download-dependency" + vars: + DEST: "{{.DEST}}" + FLAGS: "--extract" + SRC_NAME: "ystdlib-cpp-d1b4ae0" + SRC_URL: "https://github.com/y-scope/ystdlib-cpp/archive/d1b4ae0.zip" + # This command must be last + - task: ":utils:checksum:compute" + vars: + CHECKSUM_FILE: "{{.CHECKSUM_FILE}}" + INCLUDE_PATTERNS: ["{{.DEST}}"] + + download-dependency: internal: true label: "{{.TASK}}-{{.SRC_NAME}}" diff --git a/docs/src/dev-guide/components-core/index.md b/docs/src/dev-guide/components-core/index.md index 8106a47f77..f1face1c7b 100644 --- a/docs/src/dev-guide/components-core/index.md +++ b/docs/src/dev-guide/components-core/index.md @@ -42,6 +42,7 @@ This will download: * [simdjson](https://github.com/simdjson/simdjson) (v3.6.3) * [SQLite3](https://www.sqlite.org/download.html) (v3.36.0) * [yaml-cpp](https://github.com/jbeder/yaml-cpp.git) (v0.7.0) +* [ystdlib-cpp](https://github.com/y-scope/ystdlib-cpp.git) (d1b4ae0) ### Environment