Skip to content

vcpkg: Add missing ecosystem dependencies and fix empty feature dependencies #277

Description

@kcenon

Summary

Add missing required ecosystem dependencies to vcpkg.json and fix empty feature dependency arrays.

5W1H Specification

  • Who: monitoring_system maintainers
  • What: Add common_system/thread_system dependencies, fix feature definitions
  • Where: vcpkg.json
  • When: Q1 2025, Tier 3 priority
  • Why:
    • Required ecosystem dependencies missing from manifest
    • Feature dependencies are empty arrays (invalid)
    • vcpkg build will fail without declared dependencies
  • How:
    1. Add kcenon-common-system as required dependency
    2. Add kcenon-thread-system as required dependency
    3. Fix feature dependency declarations
    4. Update vcpkg.json to standard format

Current Issues

Missing Ecosystem Dependencies

README.md states:

Required Dependencies:

  • common_system: IMetricCollector, Result
  • thread_system: Async metric collection

Current vcpkg.json:

{
  "dependencies": [
    "gtest"
  ],
  "features": {
    "thread-system": {
      "description": "Enable thread_system integration",
      "dependencies": []
    },
    "logger-system": {
      "description": "Enable logger_system integration",
      "dependencies": []
    }
  }
}

Critical Problems

Issue Description
common_system missing Required but not declared
thread_system missing Required but listed as empty feature
Empty dependencies array Features declared but deps are []

Proposed vcpkg.json

{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
  "name": "kcenon-monitoring-system",
  "version": "2.0.0",
  "port-version": 0,
  "description": "High-performance C++20 monitoring system with metrics, tracing, and alerting",
  "homepage": "https://github.com/kcenon/monitoring_system",
  "license": "BSD-3-Clause",
  "supports": "!(uwp | xbox)",
  "dependencies": [
    "kcenon-common-system",
    "kcenon-thread-system"
  ],
  "features": {
    "logging": {
      "description": "Enable logger_system integration for audit logging",
      "dependencies": [
        "kcenon-logger-system"
      ]
    },
    "testing": {
      "description": "Build unit tests",
      "dependencies": [
        { "name": "gtest", "features": ["gmock"] }
      ]
    }
  }
}

Tasks

  • Add kcenon-common-system to dependencies (required)
  • Add kcenon-thread-system to dependencies (required)
  • Fix feature dependencies (add actual deps or remove features)
  • Update vcpkg.json to standard format
  • Verify vcpkg manifest mode build succeeds

Acceptance Criteria

  • vcpkg.json includes all required ecosystem dependencies
  • No empty dependency arrays in features
  • vcpkg.json follows ecosystem standard template
  • vcpkg install --manifest-mode succeeds

Dependencies

Parent Epic

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions