Examples to break greedy solver

This commit is contained in:
Alejandro R Mosteo
2018-05-07 11:23:17 +02:00
parent 73d2b8b435
commit 7e1a5c0c5b
3 changed files with 28 additions and 19 deletions
+27
View File
@@ -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;
-9
View File
@@ -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
+1 -10
View File
@@ -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;