class

Shards::MolinilloSolver

Inherits Molinillo::UI < Molinillo::SpecificationProvider < Reference < Object

Constructors

new(spec : Spec, override : Override | Nil = nil, *, prereleases : Bool = false)
Source

Class methods

crystal_version_req(specification : Shards::Spec)
Source

Instance methods

after_resolution

Called after resolution ends (either successfully or with an error). By default, prints a newline.

@return [void]

Source
apply_overrides(deps : Array(Dependency))
Source
before_resolution

Called before resolution begins.

@return [void]

Source
dependencies_for(specification : S) : Array(R)

Returns the dependencies of specification. @note This method should be 'pure', i.e. the return value should depend only on the specification parameter.

@param [Object] specification @return [Array] the dependencies that are required by the given specification.

Source
indicate_progress

Called roughly every {#progress_rate}, this method should convey progress to the user.

@return [void]

Source
locks=(locks : Array(Package) | Nil)
Source
name_for(spec : Shards::Spec)
Source
name_for(dependency : Shards::Dependency)

Returns the name for the given dependency. @note This method should be 'pure', i.e. the return value should depend only on the dependency parameter.

@param [Object] dependency @return [String] the name for the given dependency.

Source
name_for_explicit_dependency_source

@return [String] the name of the source of explicit dependencies, i.e. those passed to {Resolver#resolve} directly.

Source
name_for_locking_dependency_source

@return [String] the name of the source of 'locked' dependencies, i.e. those passed to {Resolver#resolve} directly as the base

Source
on_override(dependency : Dependency | Shards::Spec) : Dependency | Nil
Source
prepare(development : Bool | Nil = true)
Source
requirement_satisfied_by?(dependency, activated, spec)
Source
search_for(dependency : R) : Array(S)

Search for the specifications that match the given dependency. The specifications in the returned array will be considered in reverse order, so the latest version ought to be last. @note This method should be 'pure', i.e. the return value should depend only on the dependency parameter.

@param [Object] dependency @return [Array] the specifications that satisfy the given dependency.

Source
solve
Source