Files
NebulaShell/store/@{FutureOSS}/dependency
Falck e72818399c update project configuration and add development tools
- Add Python virtual environment patterns to .gitignore
- Replace .codebuddy with .clinerules in .gitignore
- Add .pid file for process tracking
- Add comprehensive .pylintrc configuration for Python linting
- Update start.bat with English translations and simplified functions
2026-04-19 12:00:02 +08:00
..
2026-04-17 23:15:15 +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"]
}