Raxol.Core.Runtime.Plugins.DependencyManager.Version (Raxol v0.5.0)

View Source

Handles version parsing and constraint checking for plugin dependencies. Provides sophisticated version constraint handling with support for complex requirements.

Summary

Functions

Checks if a version satisfies a version requirement.

Parses a single version requirement.

Parses a version requirement string into a format suitable for version matching.

Functions

check_version(version, requirement)

Checks if a version satisfies a version requirement.

Parameters

  • version - The version string to check
  • requirement - The version requirement string

Returns

  • :ok - If the version satisfies the requirement
  • {:error, reason} - If there's an error or the version doesn't satisfy the requirement

parse_single_requirement(req)

Parses a single version requirement.

Parameters

  • req - The version requirement string

Returns

  • {:ok, parsed} - The parsed requirement
  • {:error, :invalid_requirement_format} - If the requirement is invalid

parse_version_requirement(requirement)

Parses a version requirement string into a format suitable for version matching.

Parameters

  • requirement - The version requirement string

Returns

  • {:ok, parsed_requirement} - The parsed requirement
  • {:error, :invalid_requirement_format} - If the requirement is invalid

Examples

iex> Version.parse_version_requirement(">= 1.0.0")
{:ok, ">= 1.0.0"}

iex> Version.parse_version_requirement(">= 1.0.0 || >= 2.0.0")
{:ok, {:or, [">= 1.0.0", ">= 2.0.0"]}}