Summary
Standardize vcpkg.json to follow the unified_system ecosystem conventions established in common_system.
Parent Epic
Part of kcenon/common_system#251 (Epic: vcpkg.json Standardization Across Unified System Ecosystem)
Current Issues
| Field |
Current |
Expected |
| name |
messaging-system |
kcenon-messaging-system |
| $schema |
missing |
add |
| homepage |
missing |
add |
| license |
missing |
add BSD-3-Clause |
| port-version |
missing |
add (0) |
| supports |
missing |
add "!(uwp | xbox)" |
| dependencies |
too many in default |
restructure with ecosystem deps |
Critical Issue
Current default dependencies include testing libraries (gtest, benchmark) and potentially unnecessary direct dependencies that should come from ecosystem packages.
Required Changes
- Package name:
messaging-system → kcenon-messaging-system
- Add:
$schema, homepage, license, port-version, supports
- Restructure dependencies:
- Use ecosystem packages (
kcenon-common-system, kcenon-network-system, etc.)
- Move
gtest, benchmark to testing feature
- Remove direct dependencies that come through ecosystem
- Add: Feature flags for optional integrations
vcpkg.json Template
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "kcenon-messaging-system",
"version": "1.0.0",
"port-version": 0,
"description": "Messaging system with container, database, and network modules",
"homepage": "https://github.com/kcenon/messaging_system",
"license": "BSD-3-Clause",
"supports": "!(uwp | xbox)",
"dependencies": [
"kcenon-common-system",
"kcenon-thread-system",
"kcenon-container-system",
"kcenon-logger-system",
"kcenon-network-system",
"kcenon-database-system",
"nlohmann-json"
],
"features": {
"testing": {
"description": "Build unit tests and benchmarks",
"dependencies": [
{ "name": "gtest", "features": ["gmock"] },
"benchmark"
]
}
}
}
Acceptance Criteria
Summary
Standardize vcpkg.json to follow the unified_system ecosystem conventions established in common_system.
Parent Epic
Part of kcenon/common_system#251 (Epic: vcpkg.json Standardization Across Unified System Ecosystem)
Current Issues
Critical Issue
Current default dependencies include testing libraries (gtest, benchmark) and potentially unnecessary direct dependencies that should come from ecosystem packages.
Required Changes
messaging-system→kcenon-messaging-system$schema,homepage,license,port-version,supportskcenon-common-system,kcenon-network-system, etc.)gtest,benchmarktotestingfeaturevcpkg.json Template
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "kcenon-messaging-system", "version": "1.0.0", "port-version": 0, "description": "Messaging system with container, database, and network modules", "homepage": "https://github.com/kcenon/messaging_system", "license": "BSD-3-Clause", "supports": "!(uwp | xbox)", "dependencies": [ "kcenon-common-system", "kcenon-thread-system", "kcenon-container-system", "kcenon-logger-system", "kcenon-network-system", "kcenon-database-system", "nlohmann-json" ], "features": { "testing": { "description": "Build unit tests and benchmarks", "dependencies": [ { "name": "gtest", "features": ["gmock"] }, "benchmark" ] } } }Acceptance Criteria