on 8f7c3cd help sign in
elk/cli/src/Make.hs
35 lines 874 B history raw
1{-# OPTIONS_GHC -Wall #-}
2module Make (run) where
5import Control.Monad (void)
7import qualified Elm.Compiler.Objects as Obj
8import qualified Elm.Project as Project
9import qualified Elm.Project.Flags as Flags
10import qualified Reporting.Task as Task
11import qualified Reporting.Progress.Terminal as Terminal
13import qualified CommandLine.Args as Args
17-- RUN
20run :: [FilePath] -> Args.MakeFlags -> IO ()
21run paths flags =
22 do reporter <- Terminal.create
23 void $ Task.run reporter $
24 do summary <- Project.getRoot
25 Project.compile (toOptions flags) summary paths
28-- TODO figure out --warn flag
29toOptions :: Args.MakeFlags -> Flags.Options
30toOptions (Args.MakeFlags _warn debug output server) =
31 let
32 mode = if debug then Obj.Debug else Obj.Prod
33 target = if server then Obj.Server else Obj.Client
34 in
35 Flags.Options mode target output