22 lines
465 B
Haskell

module Main where
import MiniDependency.Order
( catalog
, renderPlan
, resolveDeploymentOrder
)
import System.Environment (getArgs)
import System.Exit (die)
main :: IO ()
main = do
args <- getArgs
let requestedServices =
case args of
[] -> ["frontend", "billing"]
_ -> args
case resolveDeploymentOrder catalog requestedServices of
Left err -> die err
Right deploymentPlan -> putStrLn (renderPlan deploymentPlan)