Raxol.Plugins.DependencyResolverV2 (Raxol v2.0.1)
View SourceAdvanced dependency resolution system for Plugin System v2.0.
Features:
- Semantic version resolution (^1.2.0, ~> 2.1, >= 1.0.0)
- Conflict detection and resolution strategies
- Circular dependency detection
- Dependency graph optimization
- Version compatibility checking
Summary
Functions
Detects circular dependencies in the dependency graph.
Resolves version conflicts using configured strategies.
Resolves dependencies for a plugin manifest. Returns ordered list of dependencies to install/load.
Checks if a version satisfies a version requirement. Supports: ^1.2.0, ~> 2.1, >= 1.0.0, == 1.5.0, < 2.0.0
Types
@type dependency_spec() :: {plugin_id(), version_requirement()}
@type plugin_id() :: String.t()
@type resolution_result() :: {:ok, [dependency_spec()]} | {:error, term()}
@type version() :: String.t()
@type version_requirement() :: String.t()
Functions
Detects circular dependencies in the dependency graph.
Resolves version conflicts using configured strategies.
Resolves dependencies for a plugin manifest. Returns ordered list of dependencies to install/load.
Checks if a version satisfies a version requirement. Supports: ^1.2.0, ~> 2.1, >= 1.0.0, == 1.5.0, < 2.0.0