Skip to content

Epic: vcpkg.json Standardization Across Unified System Ecosystem #251

Description

@kcenon

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:
    1. Define vcpkg.json template standard
    2. Add missing ecosystem dependencies to each system
    3. Resolve document-code inconsistencies
    4. 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

Issue Repository Description Status
thread_system#349 thread_system Add common_system dependency ✅ Closed
container_system#203 container_system Add common_system dependency ✅ Closed

Tier 3: Core Layer ✅ COMPLETED

Issue Repository Description Status
logger_system#265 logger_system Add ecosystem deps, clarify spdlog ✅ Closed
monitoring_system#277 monitoring_system Add ecosystem deps ✅ Closed

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

  • All vcpkg.json files follow standard template
  • All ecosystem dependencies declared correctly
  • README and vcpkg.json C++ standard version match
  • All systems use BSD-3-Clause license consistently
  • vcpkg manifest mode build succeeds for all systems
  • Documentation reflects actual dependency requirements

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureArchitectural changes and designepicEpic issue tracking multiple sub-taskspriority:highHigh priority issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions