Summary
Standardize vcpkg.json files across all unified_system modules to enable consistent vcpkg package distribution and resolve ecosystem dependency declarations.
5W1H Specification
- Who: All unified_system maintainers (common, thread, container, logger, monitoring, network, database, messaging)
- What: Standardize vcpkg.json structure, add missing ecosystem dependencies, resolve documentation inconsistencies
- Where: vcpkg.json and README.md files across all ecosystem repositories
- When: Target Q1 2025 release cycle
- Why:
- Enable vcpkg registry distribution (public or private)
- Prevent build failures from undeclared dependencies
- Ensure consistent versioning and licensing across ecosystem
- How:
- Define vcpkg.json template standard
- Add missing ecosystem dependencies to each system
- Resolve document-code inconsistencies
- Validate with vcpkg manifest mode builds
vcpkg.json Standard Template
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "kcenon-{system-name}",
"version": "x.y.z",
"port-version": 0,
"description": "Description of the system",
"homepage": "https://github.com/kcenon/{system-name}",
"license": "BSD-3-Clause",
"supports": "!(uwp | xbox)",
"dependencies": [
"kcenon-common-system"
],
"features": {
"testing": {
"description": "Build unit tests",
"dependencies": [
{ "name": "gtest", "features": ["gmock"] }
]
}
}
}
Implementation Status
Tier 1: Foundation Layer ✅ COMPLETED
| Issue |
Repository |
Description |
Status |
| #253 |
common_system |
Standardize vcpkg.json, fix license |
✅ Merged |
Tier 2: Foundation Layer Dependencies ✅ COMPLETED
Tier 3: Core Layer ✅ COMPLETED
Tier 4: Core Layer Extended ✅ COMPLETED
| Issue |
Repository |
Description |
Status |
| network_system#372 |
network_system |
Add ecosystem deps, OpenSSL version |
✅ Closed |
| database_system#297 |
database_system |
Add ecosystem deps, feature flags |
✅ Closed |
Tier 5: Application Layer ✅ COMPLETED
| Issue |
Repository |
Description |
Status |
| messaging_system#201 |
messaging_system |
Restructure deps, remove unnecessary |
✅ Closed |
Ecosystem Dependency Matrix
common_system (0 deps) ✅ COMPLETED
↓
thread_system → common_system ✅ COMPLETED
container_system → common_system ✅ COMPLETED
↓
logger_system → common_system, thread_system(opt) ✅ COMPLETED
monitoring_system → common_system, thread_system ✅ COMPLETED
↓
network_system → common, thread, logger, container ✅ COMPLETED
database_system → common, thread, logger, container, monitoring ✅ COMPLETED
↓
messaging_system → 6 systems ✅ COMPLETED
Acceptance Criteria
Progress Summary
| Tier |
Status |
Issues |
| Tier 1 (Foundation) |
✅ 1/1 |
common_system #253 |
| Tier 2 (Foundation Deps) |
✅ 2/2 |
thread_system #349, container_system #203 |
| Tier 3 (Core) |
✅ 2/2 |
logger_system #265, monitoring_system #277 |
| Tier 4 (Core Extended) |
✅ 2/2 |
network_system #372, database_system #297 |
| Tier 5 (Application) |
✅ 1/1 |
messaging_system #201 |
Overall Progress: 8/8 completed (100%) ✅
Related Work
Summary
Standardize vcpkg.json files across all unified_system modules to enable consistent vcpkg package distribution and resolve ecosystem dependency declarations.
5W1H Specification
vcpkg.json Standard Template
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "kcenon-{system-name}", "version": "x.y.z", "port-version": 0, "description": "Description of the system", "homepage": "https://github.com/kcenon/{system-name}", "license": "BSD-3-Clause", "supports": "!(uwp | xbox)", "dependencies": [ "kcenon-common-system" ], "features": { "testing": { "description": "Build unit tests", "dependencies": [ { "name": "gtest", "features": ["gmock"] } ] } } }Implementation Status
Tier 1: Foundation Layer ✅ COMPLETED
Tier 2: Foundation Layer Dependencies ✅ COMPLETED
Tier 3: Core Layer ✅ COMPLETED
Tier 4: Core Layer Extended ✅ COMPLETED
Tier 5: Application Layer ✅ COMPLETED
Ecosystem Dependency Matrix
Acceptance Criteria
Progress Summary
Overall Progress: 8/8 completed (100%) ✅
Related Work