diff --git a/src/Assurance/Cabal.idr b/src/Assurance/Cabal.idr new file mode 100644 index 0000000..c12985b --- /dev/null +++ b/src/Assurance/Cabal.idr @@ -0,0 +1,26 @@ +module Assurance.Cabal + +%default total + +||| Evidence from the runner that will perform dependency resolution. +public export +data IndexState = Unknown | Available | Missing + +||| A cache restore alone cannot establish index availability. +public export +data BuildPlan = RefreshThenResolve | Resolve + +public export +planOnlineBuild : IndexState -> BuildPlan +planOnlineBuild Available = Resolve +planOnlineBuild Missing = RefreshThenResolve +planOnlineBuild Unknown = RefreshThenResolve + +missingRefreshes : planOnlineBuild Missing = RefreshThenResolve +missingRefreshes = Refl + +unknownRefreshes : planOnlineBuild Unknown = RefreshThenResolve +unknownRefreshes = Refl + +availableResolves : planOnlineBuild Available = Resolve +availableResolves = Refl