Support running the dependency runner from the command line

Will fail currently
Šī revīzija ir iekļauta:
2024-09-27 21:18:29 +02:00
vecāks d3b32398b5
revīzija 67447ac23b
2 mainīti faili ar 14 papildinājumiem un 4 dzēšanām

Parādīt failu

@@ -1,7 +1,7 @@
module DependencyRunner module DependencyRunner
( DepRunM ( DepRunM
, runDeps , runDeps
, runDepRunM , runDepRunMIO
) where ) where
import Types (Value(..), Valuable(..)) import Types (Value(..), Valuable(..))
@@ -19,8 +19,8 @@ newtype DepRunM a = DepRunM { unDepRunM :: StateT (Map Int Value) IO a }
runDeps :: [Dependency] -> DepRunM () runDeps :: [Dependency] -> DepRunM ()
runDeps = mapM_ runDep runDeps = mapM_ runDep
runDepRunM :: DepRunM a -> IO a runDepRunMIO :: DepRunM a -> IO a
runDepRunM m = evalStateT (unDepRunM m) M.empty runDepRunMIO m = evalStateT (unDepRunM m) M.empty
runDep :: Dependency -> DepRunM () runDep :: Dependency -> DepRunM ()
runDep (Dependency a action b) = do runDep (Dependency a action b) = do

Parādīt failu

@@ -4,7 +4,9 @@ module Main where
import Types.Dependency (Dependency, formatDependencyTrees) import Types.Dependency (Dependency, formatDependencyTrees)
import DependencyGenerator (evalDepGenM) import DependencyGenerator (evalDepGenM)
import SiteGenerator (generateSite) import SiteGenerator (generateSite)
import DependencyRunner (runDeps, runDepRunMIO)
import System.Environment (getArgs)
import qualified Data.Text.IO as T import qualified Data.Text.IO as T
import Language.Haskell.TH.Syntax (lift) import Language.Haskell.TH.Syntax (lift)
@@ -12,4 +14,12 @@ dependencies :: [Dependency]
dependencies = $(lift (evalDepGenM generateSite)) dependencies = $(lift (evalDepGenM generateSite))
main :: IO () main :: IO ()
main = T.putStr $ formatDependencyTrees dependencies main = do
args <- getArgs
case args of
["run"] ->
runDepRunMIO $ runDeps dependencies
["tree"] ->
T.putStr $ formatDependencyTrees dependencies
_ ->
error "unexpected arguments"