class Molinillo::Resolver::Resolution(R, S)

Overview

A specific resolution from a given {Resolver}

Included Modules

Defined in:

molinillo/resolution.cr

Constructors

Instance Method Summary

Instance methods inherited from module Molinillo::Delegates::SpecificationProvider

allow_missing?(dependency) allow_missing?, dependencies_for(specification) dependencies_for, name_for(dependency) name_for, name_for_explicit_dependency_source name_for_explicit_dependency_source, name_for_locking_dependency_source name_for_locking_dependency_source, requirement_satisfied_by?(requirement, activated, spec) requirement_satisfied_by?, search_for(dependency) search_for, sort_dependencies(dependencies, activated, conflicts) sort_dependencies

Instance methods inherited from module Molinillo::Delegates::ResolutionState(R, S)

activated activated, conflicts conflicts, depth depth, name name, possibilities possibilities, requirement requirement, requirements requirements, unused_unwind_options unused_unwind_options

Constructor Detail

def self.new(specification_provider : Molinillo::SpecificationProvider(R, S), resolver_ui : Molinillo::UI, requested : Array(R), base : Molinillo::DependencyGraph(R, R)) #

Initializes a new resolution. @param [SpecificationProvider] specification_provider see {#specification_provider} @param [UI] resolver_ui see {#resolver_ui} @param [Array] requested see {#original_requested} @param [DependencyGraph] base see {#base}


[View source]

Instance Method Detail

def base : DependencyGraph(R, R) #

@return [DependencyGraph] the base dependency graph to which dependencies should be 'locked'


[View source]
def indicate_progress #

Indicates progress roughly once every second @return [void]


[View source]
def original_requested : Array(R) #

@return [Array] the dependencies that were explicitly required


[View source]
def resolve #

Resolves the {#original_requested} dependencies into a full dependency graph @raise [ResolverError] if successful resolution is impossible @return [DependencyGraph] the dependency graph of successfully resolved dependencies


[View source]
def resolver_ui : UI #

@return [UI] the UI that knows how to communicate feedback about the resolution process back to the user


[View source]
def specification_provider : SpecificationProvider(R, S) #

@return [SpecificationProvider] the provider that knows about dependencies, requirements, specifications, versions, etc.


[View source]