Examples to break greedy solver
This commit is contained in:
@@ -133,4 +133,31 @@ package Alire.Index.Alire is
|
||||
(Operating_System = Windows and Operating_System /= GNU_Linux) or
|
||||
(Compiler = GNAT_Unknown and Compiler /= GNAT_Unknown));
|
||||
|
||||
package Experimental is
|
||||
|
||||
function Project is new Catalogued_Project ("Experimental packages");
|
||||
|
||||
Base : constant Release := Project.Unreleased;
|
||||
|
||||
package V1 is new Released (Base);
|
||||
package V2 is new Released (Base);
|
||||
package V3 is new Released (Base);
|
||||
|
||||
package Greedy_Breaker is
|
||||
|
||||
function Project is new Catalogued_Project
|
||||
("Dependency too complex for the greedy solver");
|
||||
|
||||
R : constant Release := Project.Register
|
||||
(V ("1"),
|
||||
No_Origin,
|
||||
Dependencies =>
|
||||
(V2.This_Version -- This causes V2 to be chosen greedily
|
||||
or V3.This_Version) -- This will never be attempted
|
||||
and V3.This_Version); -- And thus this will never be met
|
||||
|
||||
end Greedy_Breaker;
|
||||
|
||||
end Experimental;
|
||||
|
||||
end Alire.Index.Alire;
|
||||
|
||||
@@ -34,15 +34,6 @@ package Alire.Index.GNATCOLL is
|
||||
OSX => GPR_External ("GNATCOLL_OS", "osx"),
|
||||
Windows => GPR_External ("GNATCOLL_OS", "windows"),
|
||||
OS_Unknown => GPR_External ("GNATCOLL_OS", "ERROR")))
|
||||
-- On_Condition
|
||||
-- (Operating_System = GNU_Linux,
|
||||
-- GPR_External ("GNATCOLL_OS", "unix")) and
|
||||
-- On_Condition
|
||||
-- (Operating_System = Windows,
|
||||
-- GPR_External ("GNATCOLL_OS", "windows")) and
|
||||
-- On_Condition
|
||||
-- (Operating_System = OSX,
|
||||
-- GPR_External ("GNATCOLL_OS", "osx"))
|
||||
);
|
||||
|
||||
package Slim is
|
||||
|
||||
@@ -19,15 +19,6 @@ package Alire.Index.XStrings is
|
||||
|
||||
package V_1_0_0 is new Released
|
||||
(Base
|
||||
.Replacing (Git (Repo, "40d3871dd644473aabac104666b4c83285b65ba6")));
|
||||
|
||||
Experiment : constant Release :=
|
||||
Project.Register
|
||||
(V ("99"),
|
||||
Git (Repo, "40d3871dd644473aabac104666b4c83285b65ba6"),
|
||||
Dependencies =>
|
||||
(GNATCOLL.Strings.V_20180425.Within_Major or
|
||||
GNATCOLL.Slim.V_20180425.Within_Major) and
|
||||
GNATCOLL.Slim.V_20180425.Within_Major);
|
||||
.Replacing (Git (Repo, "827d9108fbc873299016e924815fe2dd8af8071d")));
|
||||
|
||||
end Alire.Index.XStrings;
|
||||
|
||||
Reference in New Issue
Block a user