Summary
Add all missing ecosystem dependencies to vcpkg.json and specify OpenSSL version requirements for vcpkg registry distribution.
5W1H Specification
- Who: network_system maintainers
- What: Add 4 ecosystem dependencies, specify OpenSSL 3.x requirement, standardize vcpkg.json
- Where:
vcpkg.json
- When: Q1 2025, Tier 4 priority
- Why:
- All 4 ecosystem dependencies listed as "required" in README but missing from vcpkg.json
- OpenSSL 3.x recommended but not specified in manifest
- vcpkg build will fail without declared dependencies
- How:
- Add all ecosystem dependencies
- Specify OpenSSL version constraint
- Update vcpkg.json to standard format
Current Issues
Missing Ecosystem Dependencies (CRITICAL)
README.md states:
Required Dependencies:
- common_system: Result, IExecutor
- thread_system: Async I/O worker pools
- logger_system: Network event logging
- container_system: Message serialization
Current vcpkg.json dependencies:
- Only external libraries (asio, fmt, etc.)
- ZERO ecosystem dependencies declared
OpenSSL Version
README.md states:
OpenSSL 3.x recommended for TLS 1.3 and QUIC support
vcpkg.json:
- OpenSSL not version-constrained
vcpkg.json Problems
| Issue |
Current |
Expected |
| common_system |
Missing |
Required |
| thread_system |
Missing |
Required |
| logger_system |
Missing |
Required |
| container_system |
Missing |
Required |
| OpenSSL version |
Not specified |
>=3.0.0 |
| version field |
Missing |
Add version |
Proposed vcpkg.json
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
"name": "kcenon-network-system",
"version": "1.0.0",
"port-version": 0,
"description": "High-performance C++20 network library with TCP/TLS/QUIC support",
"homepage": "https://github.com/kcenon/network_system",
"license": "BSD-3-Clause",
"supports": "!(uwp | xbox)",
"dependencies": [
"kcenon-common-system",
"kcenon-thread-system",
"kcenon-logger-system",
"kcenon-container-system",
"asio",
{
"name": "openssl",
"version>=": "3.0.0"
},
{
"name": "fmt",
"version>=": "10.0.0"
}
],
"features": {
"quic": {
"description": "Enable QUIC transport support",
"dependencies": []
},
"testing": {
"description": "Build unit tests",
"dependencies": [
{ "name": "gtest", "features": ["gmock"] },
{ "name": "benchmark" }
]
}
}
}
Tasks
Acceptance Criteria
Dependencies
Parent Epic
Summary
Add all missing ecosystem dependencies to vcpkg.json and specify OpenSSL version requirements for vcpkg registry distribution.
5W1H Specification
vcpkg.jsonCurrent Issues
Missing Ecosystem Dependencies (CRITICAL)
README.md states:
Current vcpkg.json dependencies:
OpenSSL Version
README.md states:
vcpkg.json:
vcpkg.json Problems
Proposed vcpkg.json
{ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "kcenon-network-system", "version": "1.0.0", "port-version": 0, "description": "High-performance C++20 network library with TCP/TLS/QUIC support", "homepage": "https://github.com/kcenon/network_system", "license": "BSD-3-Clause", "supports": "!(uwp | xbox)", "dependencies": [ "kcenon-common-system", "kcenon-thread-system", "kcenon-logger-system", "kcenon-container-system", "asio", { "name": "openssl", "version>=": "3.0.0" }, { "name": "fmt", "version>=": "10.0.0" } ], "features": { "quic": { "description": "Enable QUIC transport support", "dependencies": [] }, "testing": { "description": "Build unit tests", "dependencies": [ { "name": "gtest", "features": ["gmock"] }, { "name": "benchmark" } ] } } }Tasks
kcenon-common-systemto dependencieskcenon-thread-systemto dependencieskcenon-logger-systemto dependencieskcenon-container-systemto dependenciesAcceptance Criteria
vcpkg install --manifest-modesucceedsDependencies
Parent Epic