Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f3493a8
Modularize
Bill-hbrhbr Oct 3, 2025
5abd02d
Remove unnecessary flattening of dep task files
Bill-hbrhbr Oct 4, 2025
57f72d7
remove unused metadata file
Bill-hbrhbr Oct 4, 2025
2f1addb
Fix init task namespaces
Bill-hbrhbr Oct 4, 2025
6a0b116
use proper includes
Bill-hbrhbr Oct 4, 2025
a802146
Properly design taskfile includes
Bill-hbrhbr Oct 5, 2025
2eee3c7
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 5, 2025
9160b55
misc reorder of mariadb-connector-cpp task entries according to taskf…
Bill-hbrhbr Oct 5, 2025
f2b0917
Apply suggestions from code review
Bill-hbrhbr Oct 5, 2025
07914d6
Move antlr-jar into its own file
Bill-hbrhbr Oct 6, 2025
d5c0969
complete gen args for mariadb connector and utfcpp
Bill-hbrhbr Oct 6, 2025
9d462b7
Fix variable include order
Bill-hbrhbr Oct 6, 2025
c07595e
Change antlr-runtime to be a nice cmake lib for install tasks
Bill-hbrhbr Oct 6, 2025
5664d7c
test doing antlr-runtime last
Bill-hbrhbr Oct 7, 2025
5338f73
fix namespace
Bill-hbrhbr Oct 7, 2025
bde48cb
revert to before antlr change
Bill-hbrhbr Oct 7, 2025
7d42269
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 7, 2025
7e8221d
Change installation method of antlr
Bill-hbrhbr Oct 7, 2025
eb23f83
Apply suggestions from code review
Bill-hbrhbr Oct 7, 2025
5a2150c
Disable build testing flags for libraries where applicable.
Bill-hbrhbr Oct 13, 2025
fd97c77
Merge branch 'main' into modularize-deps-tasks
sitaowang1998 Oct 13, 2025
c890b06
Revert "Disable build testing flags for libraries where applicable."
Bill-hbrhbr Oct 14, 2025
a958ed1
sanitize build flags
Bill-hbrhbr Oct 14, 2025
40f25e2
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 14, 2025
4a6e774
Apply suggestions from code review
Bill-hbrhbr Oct 14, 2025
544b0c9
fix bug
Bill-hbrhbr Oct 14, 2025
1bcc79a
Properly checksum all installation tasks
Bill-hbrhbr Oct 16, 2025
2c12c0f
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 16, 2025
9b40052
yaml lint fix
Bill-hbrhbr Oct 16, 2025
6437a3d
change utfcpp back to use source
Bill-hbrhbr Oct 16, 2025
c34e19b
Improve var usage
Bill-hbrhbr Oct 23, 2025
99b7880
revert install skipping mechanism
Bill-hbrhbr Oct 23, 2025
2347c8b
remove antlr-jar checksum mechanism
Bill-hbrhbr Oct 23, 2025
0340a96
Merge branch 'main' into modularize-deps-tasks
Bill-hbrhbr Oct 23, 2025
15ac898
Apply suggestions from code review
Bill-hbrhbr Oct 23, 2025
a143bda
misc fixes
Bill-hbrhbr Oct 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions taskfiles/deps/core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
version: "3"

vars:
# NOTE: This must be kept in-sync with its usage in components/core/CMakeLists.txt
G_DEPS_CPP_CORE_CMAKE_SETTINGS_FILE: "{{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/all-core.cmake"

tasks:
default:
deps:
- task: "core"

core:
deps:
- task: ":init"
- task: ":utils:clean-outdated-cpp-checksum-files"
cmds:
- task: ":yscope-dev-utils:cmake:install-deps-and-generate-settings"
vars:
CMAKE_SETTINGS_DIR: "{{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}"
CMAKE_SETTINGS_FILE: "{{.G_DEPS_CPP_CORE_CMAKE_SETTINGS_FILE}}"
DEP_TASK: "core:core-all-parallel"
- task: ":utils:combine-cpp-checksum-files"

core-all-parallel:
internal: true
vars:
CPP_CORE_TASKS:
- "absl"
- "antlr-jar"
- "antlr-runtime"
- "boost"
- "catch2"
- "date"
- "fmt"
- "liblzma"
- "log-surgeon"
- "lz4"
- "microsoft.gsl"
- "mongocxx"
- "msgpack-cxx"
- "nlohmann_json"
- "simdjson"
- "spdlog"
- "sqlite3"
- "utfcpp"
- "yaml-cpp"
- "ystdlib"
- "zlib"
- "zstd"
run: "once"
deps:
- for:
var: "CPP_CORE_TASKS"
task: ":{{.ITEM}}"
17 changes: 17 additions & 0 deletions taskfiles/deps/installs/absl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_CXX_STANDARD=20"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "absl"
TARBALL_SHA256: "7262daa7c1711406248c10f41026d685e88223bc92817d16fb93c19adb57f669"
TARBALL_URL: "https://github.com/abseil/abseil-cpp/releases/download/20250512.0/\
abseil-cpp-20250512.0.tar.gz"
31 changes: 31 additions & 0 deletions taskfiles/deps/installs/all.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: "3"

# NOTE: For dependencies built using CMake, we set CMP0074 to NEW whenever:
# - a component's minimum required CMake version is less than 3.27 (where CMP0074 defaults to OLD);
# and
# - the component depends on another via `<lib_name>_ROOT`.

includes:
absl: "absl.yaml"
antlr-jar: "antlr-jar.yaml"
antlr-runtime: "antlr-runtime.yaml"
boost: "boost.yaml"
catch2: "catch2.yaml"
date: "date.yaml"
fmt: "fmt.yaml"
liblzma: "liblzma.yaml"
log-surgeon: "log-surgeon.yaml"
lz4: "lz4.yaml"
mariadb-connector-cpp: "mariadb-connector-cpp.yaml"
microsoft.gsl: "microsoft.gsl.yaml"
mongocxx: "mongocxx.yaml"
msgpack-cxx: "msgpack-cxx.yaml"
nlohmann_json: "nlohmann_json.yaml"
simdjson: "simdjson.yaml"
spdlog: "spdlog.yaml"
sqlite3: "sqlite3.yaml"
utfcpp: "utfcpp.yaml"
yaml-cpp: "yaml-cpp.yaml"
ystdlib: "ystdlib.yaml"
zlib: "zlib.yaml"
zstd: "zstd.yaml"
14 changes: 14 additions & 0 deletions taskfiles/deps/installs/antlr-jar.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: "3"

tasks:
default:
internal: true
run: "once"
deps:
- task: ":init"
cmds:
- task: ":yscope-dev-utils:remote:curl"
vars:
FILE_SHA256: "eae2dfa119a64327444672aff63e9ec35a20180dc5b8090b7a6ab85125df4d76"
OUTPUT_FILE: "{{.G_ANTLR_JAR_FILE}}"
URL: "https://www.antlr.org/download/antlr-{{.G_ANTLR_VERSION}}-complete.jar"
23 changes: 23 additions & 0 deletions taskfiles/deps/installs/antlr-runtime.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DANTLR4_INSTALL=ON"
- "-DANTLR_BUILD_CPP_TESTS=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"

# Set CMP0135 so that extracted files use the current timestamp as their modification
# timestamp, which ensures the library gets rebuilt if the extracted files change.
- "-DCMAKE_POLICY_DEFAULT_CMP0135=NEW"
CMAKE_SOURCE_DIR: "runtime/Cpp"
LIB_NAME: "antlr4-runtime"
TARBALL_SHA256: "9f18272a9b32b622835a3365f850dd1063d60f5045fb1e12ce475ae6e18a35bb"
TARBALL_URL: "https://github.com/antlr/antlr4/archive/refs/tags/\
{{.G_ANTLR_VERSION}}.tar.gz"
26 changes: 26 additions & 0 deletions taskfiles/deps/installs/boost.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
version: "3"

tasks:
default:
internal: true
vars:
VERSION: "1.87.0"
run: "once"
deps:
- task: ":init"
cmds:
- task: ":yscope-dev-utils:boost:download-and-install"
vars:
CMAKE_SETTINGS_DIR: "{{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}"
FILE_SHA256: "d6c69e4459eb5d6ec208250291221e7ff4a2affde9af6e49c9303b89c687461f"
TARGETS:
- "filesystem"
- "iostreams"
- "process"
- "program_options"
- "regex"
- "system"
- "url"
URL: "https://github.com/boostorg/boost/releases/download/boost-{{.VERSION}}/\
boost-{{.VERSION}}-b2-nodocs.tar.gz"
WORK_DIR: "{{.G_DEPS_CPP_DIR}}"
20 changes: 20 additions & 0 deletions taskfiles/deps/installs/catch2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCATCH_BUILD_TESTING=OFF"
- "-DCATCH_INSTALL_DOCS=OFF"
- "-DCATCH_INSTALL_EXTRAS=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_CXX_STANDARD=20"
- "-DCMAKE_CXX_STANDARD_REQUIRED=ON"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "Catch2"
TARBALL_SHA256: "1ab2de20460d4641553addfdfe6acd4109d871d5531f8f519a52ea4926303087"
TARBALL_URL: "https://github.com/catchorg/Catch2/archive/refs/tags/v3.8.0.tar.gz"
15 changes: 15 additions & 0 deletions taskfiles/deps/installs/date.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
LIB_NAME: "date"
TARBALL_SHA256: "7a390f200f0ccd207e8cff6757e04817c1a0aec3e327b006b7eb451c57ee3538"
TARBALL_URL: "https://github.com/HowardHinnant/date/archive/refs/tags/v3.0.1.tar.gz"
18 changes: 18 additions & 0 deletions taskfiles/deps/installs/fmt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DFMT_DOC=OFF"
- "-DFMT_TEST=OFF"
LIB_NAME: "{{.G_FMT_LIB_NAME}}"
TARBALL_SHA256: "bc23066d87ab3168f27cef3e97d545fa63314f5c79df5ea444d41d56f962c6af"
TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/11.2.0.tar.gz"
41 changes: 41 additions & 0 deletions taskfiles/deps/installs/liblzma.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
version: "3"

tasks:
default:
internal: true
run: "once"
deps:
- task: "liblzma-install"
vars:
BUILD_SHARED_LIBS: true
- task: "liblzma-install"
vars:
BUILD_SHARED_LIBS: false

liblzma-install:
internal: true
vars:
LIBLZMA_CMAKE_GEN_ARGS:
- "-DBUILD_TESTING=OFF"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DXZ_DOC=OFF"
- "-DXZ_TOOL_LZMADEC=OFF"
- "-DXZ_TOOL_LZMAINFO=OFF"
- "-DXZ_TOOL_SCRIPTS=OFF"
- "-DXZ_TOOL_SYMLINKS_LZMA=OFF"
- "-DXZ_TOOL_XZ=OFF"
- "-DXZ_TOOL_XZDEC=OFF"
requires:
vars: ["BUILD_SHARED_LIBS"]
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS={{ if .BUILD_SHARED_LIBS }}ON{{ else }}OFF{{ end }}"
- >-
{{ join " " .LIBLZMA_CMAKE_GEN_ARGS }}
LIB_NAME: "LibLZMA-{{ if .BUILD_SHARED_LIBS }}shared{{ else }}static{{ end }}"
TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543"
TARBALL_URL: >-
https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz
24 changes: 24 additions & 0 deletions taskfiles/deps/installs/log-surgeon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: "3"

tasks:
default:
internal: true
vars:
DEPS: ["fmt", "microsoft.gsl"]
run: "once"
deps:
- for:
var: "DEPS"
task: ":{{.ITEM}}"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_FMT_LIB_NAME}}.cmake"
- "-C {{.G_DEPS_CPP_CMAKE_SETTINGS_DIR}}/{{.G_GSL_LIB_NAME}}.cmake"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-Dlog_surgeon_BUILD_TESTING=OFF"
LIB_NAME: "log_surgeon"
TARBALL_SHA256: "69a99e0804a52c6b6397c5e7eabecc9bb4915d0145632c66fc63ad13678ff56a"
TARBALL_URL: "https://github.com/y-scope/log-surgeon/archive/a722d07.tar.gz"
19 changes: 19 additions & 0 deletions taskfiles/deps/installs/lz4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_STATIC_LIBS=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DLZ4_BUILD_CLI=OFF"
CMAKE_SOURCE_DIR: "build/cmake"
LIB_NAME: "lz4"
TARBALL_SHA256: "537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b"
TARBALL_URL: "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz"
27 changes: 27 additions & 0 deletions taskfiles/deps/installs/mariadb-connector-cpp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: "3"

tasks:
default:
internal: true
platforms: ["linux"]
preconditions:
# NOTE: The MariaDB connector is only required for building Spider, which is only supported on
# Ubuntu. `INSTALL_LAYOUT` is currently hardcoded to "DEB". To support other Linux distros:
# - Update the precondition accordingly.
# - Make `INSTALL_LAYOUT` configurable.
- >-
. /etc/os-release && [ "$ID" = "ubuntu" ]
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DINSTALL_LAYOUT=DEB"
- "-DUSE_SYSTEM_INSTALLED_LIB=ON"
- "-DWITH_UNIT_TESTS=OFF"
LIB_NAME: "mariadb-connector-cpp"
TARBALL_SHA256: "0e3dfe9f2bc3f7bb6f7c159009556290064a7c23402ea08019fa8aebfc3ff2c9"
TARBALL_URL: "https://github.com/mariadb-corporation/mariadb-connector-cpp/archive/refs/\
tags/1.1.5.tar.gz"
16 changes: 16 additions & 0 deletions taskfiles/deps/installs/microsoft.gsl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: "3"

tasks:
default:
internal: true
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DGSL_TEST=OFF"
LIB_NAME: "{{.G_GSL_LIB_NAME}}"
TARBALL_SHA256: "f0e32cb10654fea91ad56bde89170d78cfbf4363ee0b01d8f097de2ba49f6ce9"
TARBALL_URL: "https://github.com/microsoft/GSL/archive/refs/tags/v4.0.0.tar.gz"
22 changes: 22 additions & 0 deletions taskfiles/deps/installs/mongocxx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
version: "3"

tasks:
default:
internal: true
vars:
VERSION: "r4.1.1"
run: "once"
cmds:
- task: ":utils:install-remote-cmake-lib"
vars:
CMAKE_GEN_ARGS:
- "-DBUILD_SHARED_AND_STATIC_LIBS=ON"
- "-DBUILD_SHARED_LIBS_WITH_STATIC_MONGOC=ON"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DCMAKE_INSTALL_MESSAGE=LAZY"
- "-DENABLE_EXAMPLES=OFF"
- "-DENABLE_UNINSTALL=OFF"
LIB_NAME: "mongocxx"
TARBALL_SHA256: "19dff3cf834a3e09229260f22a0325820a7e30c78b294db91794dd934776b33a"
TARBALL_URL: "https://github.com/mongodb/mongo-cxx-driver/releases/download/{{.VERSION}}\
/mongo-cxx-driver-{{.VERSION}}.tar.gz"
Loading
Loading