on master help sign in
Put cliapp under Obelisk namespace
commitbe26c0f67075159d67d0c3900d9d43ea4bac0390 authorSridhar Ratnakumar <srid@srid.ca> dateTue 29 May 2018, 15:07 (8 years ago) parenta572f91
18 files changed+41−40
default.nix+1−1 lib/cliapp/cliapp.cabal → lib/cliapp/obelisk-cliapp.cabal+8−8 lib/cliapp/src/CliApp.hs → lib/cliapp/src/Obelisk/CliApp.hs+5−5 lib/cliapp/src/CliApp/Demo.hs → lib/cliapp/src/Obelisk/CliApp/Demo.hs+2−2 lib/cliapp/src/CliApp/Logging.hs → lib/cliapp/src/Obelisk/CliApp/Logging.hs+3−3 lib/cliapp/src/CliApp/Process.hs → lib/cliapp/src/Obelisk/CliApp/Process.hs+3−3 lib/cliapp/src/CliApp/Spinner.hs → lib/cliapp/src/Obelisk/CliApp/Spinner.hs+4−4 lib/cliapp/src/CliApp/TerminalString.hs → lib/cliapp/src/Obelisk/CliApp/TerminalString.hs+1−1 lib/cliapp/src/CliApp/Types.hs → lib/cliapp/src/Obelisk/CliApp/Types.hs+2−2 lib/command/obelisk-command.cabal+1−1 lib/command/src/Obelisk/App.hs+1−1 lib/command/src/Obelisk/Command.hs+2−2 lib/command/src/Obelisk/Command/Deploy.hs+1−1 lib/command/src/Obelisk/Command/Nix.hs+1−1 lib/command/src/Obelisk/Command/Project.hs+1−1 lib/command/src/Obelisk/Command/Run.hs+2−1 lib/command/src/Obelisk/Command/Thunk.hs+2−2 lib/command/src/Obelisk/Command/Utils.hs+1−1
default.nix+1−1
@@ -93,7 +93,7 @@ let #TODO: Upstream
9393 addLibs = self: super: {
9494 obelisk-asset-manifest = self.callCabal2nix "obelisk-asset-manifest" (hackGet ./lib/asset + "/manifest") {};
9595 obelisk-asset-serve-snap = self.callCabal2nix "obelisk-asset-serve-snap" (hackGet ./lib/asset + "/serve-snap") {};
96− cliapp = self.callCabal2nix "cliapp" (cleanSource ./lib/cliapp) {};
96+ obelisk-cliapp = self.callCabal2nix "obelisk-cliapp" (cleanSource ./lib/cliapp) {};
9797 obelisk-backend = self.callCabal2nix "obelisk-backend" (cleanSource ./lib/backend) {};
9898 obelisk-command = (self.callCabal2nix "obelisk-command" (cleanSource ./lib/command) {}).override { Cabal = super.Cabal_2_0_0_2; };
9999 obelisk-executable-config = executableConfig.haskellPackage self;
lib/cliapp/cliapp.cabal → lib/cliapp/obelisk-cliapp.cabalrenamed+8−8
@@ -1,4 +1,4 @@
1−name: cliapp
1+name: obelisk-cliapp
22version: 0.1
33license: BSD3
44build-type: Simple
@@ -21,12 +21,12 @@ library
2121 , time
2222 , transformers
2323 exposed-modules:
24− CliApp
25− CliApp.Demo
24+ Obelisk.CliApp
25+ Obelisk.CliApp.Demo
2626 other-modules:
27− CliApp.Logging
28− CliApp.Process
29− CliApp.Spinner
30− CliApp.TerminalString
31− CliApp.Types
27+ Obelisk.CliApp.Logging
28+ Obelisk.CliApp.Process
29+ Obelisk.CliApp.Spinner
30+ Obelisk.CliApp.TerminalString
31+ Obelisk.CliApp.Types
3232 ghc-options: -Wall -fobject-code
lib/cliapp/src/CliApp.hs → lib/cliapp/src/Obelisk/CliApp.hsrenamed+5−5
@@ -3,7 +3,7 @@
33-- See Demo.hs for an example
44--
55-- This package should eventually be made its own library.
6−module CliApp
6+module Obelisk.CliApp
77 (
88 -- .Types
99 Cli
@@ -36,7 +36,7 @@ module CliApp
3636
3737import Control.Monad.Log (Severity (..))
3838
39−import CliApp.Logging
40−import CliApp.Process
41−import CliApp.Spinner
42−import CliApp.Types
39+import Obelisk.CliApp.Logging
40+import Obelisk.CliApp.Process
41+import Obelisk.CliApp.Spinner
42+import Obelisk.CliApp.Types
lib/cliapp/src/CliApp/Demo.hs → lib/cliapp/src/Obelisk/CliApp/Demo.hsrenamed+2−2
@@ -1,6 +1,6 @@
11{-# LANGUAGE FlexibleContexts #-}
22{-# LANGUAGE OverloadedStrings #-}
3−module CliApp.Demo where
3+module Obelisk.CliApp.Demo where
44
55import Control.Concurrent (threadDelay)
66import Control.Monad.IO.Class (liftIO)
@@ -11,7 +11,7 @@ import System.Process (proc)
1111
1212import Control.Monad.Catch (MonadMask)
1313
14−import CliApp
14+import Obelisk.CliApp
1515
1616cliDemo
1717 :: (MonadIO m, MonadMask m, Cli m, HasCliConfig m)
lib/cliapp/src/CliApp/Logging.hs → lib/cliapp/src/Obelisk/CliApp/Logging.hsrenamed+3−3
@@ -7,7 +7,7 @@
77{-# LANGUAGE ScopedTypeVariables #-}
88-- | Provides a logging handler that facilitates safe ouputting to terminal using MVar based locking.
99-- | Spinner.hs and Process.hs work on this guarantee.
10−module CliApp.Logging where
10+module Obelisk.CliApp.Logging where
1111
1212import Control.Concurrent (ThreadId, forkIO, killThread, threadDelay)
1313import Control.Concurrent.MVar (modifyMVar_, newMVar)
@@ -28,8 +28,8 @@ import System.Console.ANSI (Color (Red, White, Yellow), ColorIntensity (Vivid),
2828import System.Exit (ExitCode (..), exitWith)
2929import System.IO (BufferMode (NoBuffering), hFlush, hReady, hSetBuffering, stdin, stdout)
3030
31−import qualified CliApp.TerminalString as TS
32−import CliApp.Types
31+import qualified Obelisk.CliApp.TerminalString as TS
32+import Obelisk.CliApp.Types
3333
3434newCliConfig :: Severity -> Bool -> Bool -> IO CliConfig
3535newCliConfig sev noColor noSpinner = do
lib/cliapp/src/CliApp/Process.hs → lib/cliapp/src/Obelisk/CliApp/Process.hsrenamed+3−3
@@ -8,7 +8,7 @@
88
99-- | An extension of `System.Process` that integrates with logging (`Obelisk.CLI.Logging`)
1010-- and is thus spinner friendly.
11−module CliApp.Process
11+module Obelisk.CliApp.Process
1212 ( readProcessAndLogStderr
1313 , callProcessAndLogOutput
1414 , createProcess
@@ -37,9 +37,9 @@ import System.Process (CreateProcess, ProcessHandle, StdStream (CreatePipe), cmd
3737 waitForProcess)
3838import qualified System.Process as Process
3939
40−import CliApp.Logging (failWith, putLog, putLogRaw)
41−import CliApp.Types (Cli)
4240import Control.Monad.Log (Severity (..))
41+import Obelisk.CliApp.Logging (failWith, putLog, putLogRaw)
42+import Obelisk.CliApp.Types (Cli)
4343
4444-- | Like `System.Process.readProcess` but logs the stderr instead of letting the external process inherit it.
4545readProcessAndLogStderr
lib/cliapp/src/CliApp/Spinner.hs → lib/cliapp/src/Obelisk/CliApp/Spinner.hsrenamed+4−4
@@ -2,7 +2,7 @@
22{-# LANGUAGE MultiParamTypeClasses #-}
33{-# LANGUAGE OverloadedStrings #-}
44-- | Provides a simple CLI spinner that interoperates cleanly with the rest of the logging output.
5−module CliApp.Spinner (withSpinner) where
5+module Obelisk.CliApp.Spinner (withSpinner) where
66
77import Control.Concurrent (killThread, threadDelay)
88import Control.Monad (forM_, (>=>))
@@ -15,9 +15,9 @@ import qualified Data.List as L
1515import Data.Text (Text)
1616import System.Console.ANSI (Color (Blue, Cyan, Green, Red))
1717
18−import CliApp.Logging (allowUserToMakeLoggingVerbose, fork)
19−import CliApp.TerminalString (TerminalString (..), enquiryCode)
20−import CliApp.Types (Cli, CliConfig (..), HasCliConfig, Output (..), getCliConfig)
18+import Obelisk.CliApp.Logging (allowUserToMakeLoggingVerbose, fork)
19+import Obelisk.CliApp.TerminalString (TerminalString (..), enquiryCode)
20+import Obelisk.CliApp.Types (Cli, CliConfig (..), HasCliConfig, Output (..), getCliConfig)
2121
2222-- | Run an action with a CLI spinner.
2323withSpinner
lib/cliapp/src/CliApp/TerminalString.hs → lib/cliapp/src/Obelisk/CliApp/TerminalString.hsrenamed+1−1
@@ -2,7 +2,7 @@
22{-# LANGUAGE MultiParamTypeClasses #-}
33{-# LANGUAGE OverloadedStrings #-}
44-- | Types and functions dealing with strings to be printed on terminal.
5−module CliApp.TerminalString
5+module Obelisk.CliApp.TerminalString
66 ( TerminalString(..)
77 , render
88 , putStrWithSGR
lib/cliapp/src/CliApp/Types.hs → lib/cliapp/src/Obelisk/CliApp/Types.hsrenamed+2−2
@@ -3,7 +3,7 @@
33{-# LANGUAGE FlexibleInstances #-}
44{-# LANGUAGE GeneralizedNewtypeDeriving #-}
55{-# LANGUAGE MultiParamTypeClasses #-}
6−module CliApp.Types where
6+module Obelisk.CliApp.Types where
77
88import Control.Concurrent.MVar (MVar)
99import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow)
@@ -12,7 +12,7 @@ import Control.Monad.Reader (MonadIO, ReaderT (..), ask)
1212import Data.IORef (IORef)
1313import Data.Text (Text)
1414
15−import CliApp.TerminalString (TerminalString)
15+import Obelisk.CliApp.TerminalString (TerminalString)
1616
1717data CliConfig = CliConfig
1818 { _cliConfig_logLevel :: IORef Severity -- We are capable of changing the log level at runtime
lib/command/obelisk-command.cabal+1−1
@@ -15,7 +15,7 @@ library
1515 , base16-bytestring
1616 , binary
1717 , bytestring
18− , cliapp
18+ , obelisk-cliapp
1919 , containers
2020 , data-default
2121 , directory
lib/command/src/Obelisk/App.hs+1−1
@@ -11,7 +11,7 @@ import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow)
1111import Control.Monad.Reader (MonadIO, ReaderT (..), ask, runReaderT)
1212import Control.Monad.Trans.Class (lift)
1313
14−import CliApp (Cli, CliConfig, CliT, HasCliConfig, getCliConfig, runCli)
14+import Obelisk.CliApp (Cli, CliConfig, CliT, HasCliConfig, getCliConfig, runCli)
1515
1616newtype Obelisk = Obelisk
1717 { _obelisk_cliConfig :: CliConfig
lib/command/src/Obelisk/Command.hs+2−2
@@ -27,9 +27,9 @@ import System.IO (hIsTerminalDevice, stdout)
2727import System.Posix.Process (executeFile)
2828import System.Process (callCommand)
2929
30−import CliApp (Severity (..), failWith, getLogLevel, newCliConfig, putLog)
31−import CliApp.Demo (cliDemo)
3230import Obelisk.App
31+import Obelisk.CliApp (Severity (..), failWith, getLogLevel, newCliConfig, putLog)
32+import Obelisk.CliApp.Demo (cliDemo)
3333import Obelisk.Command.Deploy
3434import Obelisk.Command.Project
3535import Obelisk.Command.Run
lib/command/src/Obelisk/Command/Deploy.hs+1−1
@@ -22,8 +22,8 @@ import System.Posix.Env (getEnvironment)
2222import System.Posix.Files
2323import System.Process (delegate_ctlc, env, proc, readProcess)
2424
25−import CliApp (Severity (..), callProcessAndLogOutput, failWith, putLog, withSpinner)
2625import Obelisk.App (MonadObelisk)
26+import Obelisk.CliApp (Severity (..), callProcessAndLogOutput, failWith, putLog, withSpinner)
2727import Obelisk.Command.Nix
2828import Obelisk.Command.Project
2929import Obelisk.Command.Thunk
lib/command/src/Obelisk/Command/Nix.hs+1−1
@@ -15,8 +15,8 @@ import Data.Monoid ((<>))
1515import qualified Data.Text as T
1616import System.Process (proc)
1717
18−import CliApp (Severity (..), readProcessAndLogStderr, withSpinner)
1918import Obelisk.App (MonadObelisk)
19+import Obelisk.CliApp (Severity (..), readProcessAndLogStderr, withSpinner)
2020
2121-- | Where to put nix-build output
2222data OutLink
lib/command/src/Obelisk/Command/Project.hs+1−1
@@ -33,7 +33,7 @@ import GitHub.Data.GitData (Branch)
3333import GitHub.Data.Name (Name)
3434
3535import Obelisk.App (MonadObelisk)
36−import CliApp (Severity (..), callProcessAndLogOutput, createProcess_, failWith, putLog, withSpinner)
36+import Obelisk.CliApp (Severity (..), callProcessAndLogOutput, createProcess_, failWith, putLog, withSpinner)
3737import Obelisk.Command.Thunk
3838import Obelisk.Command.Utils (cp)
3939--TODO: Make this module resilient to random exceptions
lib/command/src/Obelisk/Command/Run.hs+2−1
@@ -26,8 +26,9 @@ import System.Directory
2626import System.FilePath
2727import System.IO.Temp (withSystemTempDirectory)
2828
29−import CliApp (CliT (..), HasCliConfig, Severity (..), callCommand, failWith, getCliConfig, putLog, runCli)
3029import Obelisk.App (MonadObelisk, ObeliskT)
30+import Obelisk.CliApp (CliT (..), HasCliConfig, Severity (..), callCommand, failWith, getCliConfig, putLog,
31+ runCli)
3132import Obelisk.Command.Project (inProjectShell)
3233
3334-- NOTE: `run` is not polymorphic like the rest because we use StaticPtr to invoke it.
lib/command/src/Obelisk/Command/Thunk.hs+2−2
@@ -71,9 +71,9 @@ import System.IO.Temp
7171import System.Posix (getSymbolicLinkStatus, modificationTime)
7272import System.Process (proc)
7373
74−import CliApp (Severity (..), callProcessAndLogOutput, failWith, putLog, readProcessAndLogStderr,
75− withExitFailMessage, withSpinner)
7674import Obelisk.App (MonadObelisk)
75+import Obelisk.CliApp (Severity (..), callProcessAndLogOutput, failWith, putLog, readProcessAndLogStderr,
76+ withExitFailMessage, withSpinner)
7777import Obelisk.Command.Utils (checkGitCleanStatus, cp, git, procWithPackages)
7878
7979--TODO: Support symlinked thunk data
lib/command/src/Obelisk/Command/Utils.hs+1−1
@@ -7,8 +7,8 @@ import Data.Semigroup ((<>))
77import qualified Data.Text as T
88import qualified System.Process as P
99
10−import CliApp (Severity (..), callProcessAndLogOutput, readProcessAndLogStderr)
1110import Obelisk.App (MonadObelisk)
11+import Obelisk.CliApp (Severity (..), callProcessAndLogOutput, readProcessAndLogStderr)
1212
1313-- Check whether the working directory is clean
1414checkGitCleanStatus :: MonadObelisk m => FilePath -> m Bool