Summary
Add all 5 missing ecosystem dependencies to vcpkg.json for vcpkg registry distribution.
5W1H Specification
- Who: database_system maintainers
- What: Add 5 ecosystem dependencies, maintain DB backend features, standardize vcpkg.json
- Where:
vcpkg.json
- When: Q1 2025, Tier 4 priority
- Why:
- All 5 ecosystem dependencies listed as "required" in README but missing from vcpkg.json
- vcpkg build will fail without declared dependencies
- Enable ecosystem-wide vcpkg distribution
- How:
- Add all ecosystem dependencies
- Preserve existing DB backend features
- Update vcpkg.json to standard format
Current Issues
Missing Ecosystem Dependencies (CRITICAL)
README.md Dependency Flow:
database_system
├── common_system (required)
├── thread_system (required)
│ └── common_system
├── logger_system (required)
│ └── common_system
├── container_system (required)
│ └── common_system
└── monitoring_system (required)
└── common_system, thread_system
Current vcpkg.json dependencies:
{
"dependencies": [
{ "name": "fmt", "version>=": "10.2.1" },
{ "name": "asio" }
]
}
5 ecosystem dependencies missing!
vcpkg.json Problems
| Issue |
Current |
Expected |
| common_system |
Missing |
Required |
| thread_system |
Missing |
Required |
| logger_system |
Missing |
Required |
| container_system |
Missing |
Required |
| monitoring_system |
Missing |
Required |
Existing Features (Preserve)
The current vcpkg.json has good database backend features that should be preserved:
postgresql - libpq, libpqxx
mysql - libmysql
sqlite - sqlite3
testing - gtest, benchmark
Proposed vcpkg.json
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "kcenon-database-system",
"version": "1.0.0",
"port-version": 0,
"description": "Advanced C++20 Database System with Multi-Backend Support (PostgreSQL, MySQL, SQLite, MongoDB, Redis)",
"homepage": "https://github.com/kcenon/database_system",
"license": "BSD-3-Clause",
"supports": "!(uwp | xbox)",
"dependencies": [
"kcenon-common-system",
"kcenon-thread-system",
"kcenon-logger-system",
"kcenon-container-system",
"kcenon-monitoring-system",
{
"name": "fmt",
"version>=": "10.2.1"
},
"asio"
],
"features": {
"postgresql": {
"description": "Enable PostgreSQL database support",
"dependencies": [
"libpq",
{ "name": "libpqxx", "default-features": false },
{ "name": "openssl", "version>=": "3.0.0" }
]
},
"mysql": {
"description": "Enable MySQL database support",
"dependencies": ["libmysql"]
},
"sqlite": {
"description": "Enable SQLite database support",
"dependencies": ["sqlite3"]
},
"testing": {
"description": "Enable unit testing and benchmarking",
"dependencies": [
{ "name": "gtest", "features": ["gmock"] },
"benchmark"
]
}
}
}
Tasks
Acceptance Criteria
Dependencies
Parent Epic
Summary
Add all 5 missing ecosystem dependencies to vcpkg.json for vcpkg registry distribution.
5W1H Specification
vcpkg.jsonCurrent Issues
Missing Ecosystem Dependencies (CRITICAL)
README.md Dependency Flow:
Current vcpkg.json dependencies:
{ "dependencies": [ { "name": "fmt", "version>=": "10.2.1" }, { "name": "asio" } ] }5 ecosystem dependencies missing!
vcpkg.json Problems
Existing Features (Preserve)
The current vcpkg.json has good database backend features that should be preserved:
postgresql- libpq, libpqxxmysql- libmysqlsqlite- sqlite3testing- gtest, benchmarkProposed vcpkg.json
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "kcenon-database-system", "version": "1.0.0", "port-version": 0, "description": "Advanced C++20 Database System with Multi-Backend Support (PostgreSQL, MySQL, SQLite, MongoDB, Redis)", "homepage": "https://github.com/kcenon/database_system", "license": "BSD-3-Clause", "supports": "!(uwp | xbox)", "dependencies": [ "kcenon-common-system", "kcenon-thread-system", "kcenon-logger-system", "kcenon-container-system", "kcenon-monitoring-system", { "name": "fmt", "version>=": "10.2.1" }, "asio" ], "features": { "postgresql": { "description": "Enable PostgreSQL database support", "dependencies": [ "libpq", { "name": "libpqxx", "default-features": false }, { "name": "openssl", "version>=": "3.0.0" } ] }, "mysql": { "description": "Enable MySQL database support", "dependencies": ["libmysql"] }, "sqlite": { "description": "Enable SQLite database support", "dependencies": ["sqlite3"] }, "testing": { "description": "Enable unit testing and benchmarking", "dependencies": [ { "name": "gtest", "features": ["gmock"] }, "benchmark" ] } } }Tasks
kcenon-common-systemto dependencieskcenon-thread-systemto dependencieskcenon-logger-systemto dependencieskcenon-container-systemto dependencieskcenon-monitoring-systemto dependenciesAcceptance Criteria
vcpkg install --manifest-modesucceedsDependencies
Parent Epic