Files
NebulaShell/store/@{FutureOSS}/dependency
Falck 76147bae94 初始提交 - FutureOSS v1.0 插件化运行时框架
一切皆为插件的开发者工具运行时框架

🧩 核心特性:
  - 插件热插拔 (importlib 动态加载)
  - 依赖自动解析 (拓扑排序 + 循环检测)
  - 企业级稳定 (熔断/降级/重试/隔离)
  - 事件驱动 (发布/订阅事件总线)
  - 完整配置 (YAML 配置 + 热重载)
2026-04-06 09:57:10 +08:00
..

dependency 依赖解析

插件依赖关系管理,使用拓扑排序确定加载顺序。

功能

  • 拓扑排序Kahn 算法)
  • 循环依赖检测DFS
  • 缺失依赖检测
  • 自动按依赖顺序加载插件

使用

dep = dependency_plugin

# 添加插件及其依赖
dep.add_plugin("plugin-a", ["plugin-b", "plugin-c"])
dep.add_plugin("plugin-b", [])
dep.add_plugin("plugin-c", ["plugin-b"])

# 解析依赖顺序
order = dep.resolve()  # 返回 ["plugin-b", "plugin-c", "plugin-a"]

# 检查缺失依赖
missing = dep.get_missing_deps()

# 获取加载顺序
order = dep.get_order()

manifest.json 声明

{
  "metadata": {...},
  "dependencies": ["lifecycle", "circuit-breaker"]
}