35 lines
1.2 KiB
Ada
35 lines
1.2 KiB
Ada
with Alire.Containers;
|
|
with Alire.Index; use Alire.Index;
|
|
|
|
with Semantic_Versioning;
|
|
|
|
package Alire.Query is
|
|
|
|
type Policies is (Oldest, Newest);
|
|
|
|
--subtype Solution is Containers.Version_Map; -- A dependence-valid mapping of project -> version
|
|
subtype Instance is Containers.Release_Map; -- A list of releases complying with a Solution
|
|
|
|
Empty_Instance : constant Instance := Containers.Project_Release_Maps.Empty_Map;
|
|
|
|
function Exists (Project : Project_Name;
|
|
Allowed : Semantic_Versioning.Version_Set := Semantic_Versioning.Any)
|
|
return Boolean;
|
|
|
|
function Find (Project : Project_Name;
|
|
Allowed : Semantic_Versioning.Version_Set := Semantic_Versioning.Any;
|
|
Policy : Policies := Newest) return Release;
|
|
|
|
function Resolve (Deps : Index.Dependencies;
|
|
Success : out Boolean;
|
|
Policy : Policies := Newest) return Instance;
|
|
|
|
procedure Print_Solution (I : Instance);
|
|
|
|
|
|
function Dependency_Image (Project : Project_Name;
|
|
Versions : Semantic_Versioning.Version_Set;
|
|
Policy : Policies := Newest) return String;
|
|
|
|
end Alire.Query;
|