summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2016-06-20 13:48:54 -0400
committerJoey Hess2016-06-20 13:48:54 -0400
commita0d9ebf0334c98be75d18fd83d860ec7370a8005 (patch)
treeb5b93bbe6b32e4c5c4af450a028a1f16f57f789b
parentf0fbdce8fd8369eaa78dfff02aca79fb61170931 (diff)
parent255a52c13ccb0e78744c32c7cbb169682e2b947a (diff)
Merge remote-tracking branch 'felix/derivedatatypeable-exception'
-rw-r--r--src/Propellor/Exception.hs3
-rw-r--r--src/Propellor/Property.hs8
-rw-r--r--src/Propellor/Types/Exception.hs5
3 files changed, 9 insertions, 7 deletions
diff --git a/src/Propellor/Exception.hs b/src/Propellor/Exception.hs
index 2e8754dc..463402e4 100644
--- a/src/Propellor/Exception.hs
+++ b/src/Propellor/Exception.hs
@@ -13,6 +13,7 @@ import Control.Exception (SomeAsyncException)
#endif
import Control.Monad.Catch
import Control.Monad.IO.Class (MonadIO)
+import Prelude
-- | Catches all exceptions (except for `StopPropellorException` and
-- `AsyncException` and `SomeAsyncException`) and returns FailedChange.
@@ -34,4 +35,4 @@ catchPropellor' a onerr = a `catches`
-- | Catches all exceptions (except for `StopPropellorException` and
-- `AsyncException`).
tryPropellor :: MonadCatch m => m a -> m (Either SomeException a)
-tryPropellor a = (Right <$> a) `catchPropellor'` (pure . Left)
+tryPropellor a = (return . Right =<< a) `catchPropellor'` (return . Left)
diff --git a/src/Propellor/Property.hs b/src/Propellor/Property.hs
index f23fd3ba..7ee9397e 100644
--- a/src/Propellor/Property.hs
+++ b/src/Propellor/Property.hs
@@ -54,7 +54,7 @@ import System.Posix.Files
import qualified Data.Hash.MD5 as MD5
import Data.List
import Control.Applicative
-import Data.Foldable
+import Data.Foldable hiding (and, elem)
import Prelude
import Propellor.Types
@@ -83,7 +83,7 @@ flagFile' p getflagfile = adjustPropertySatisfy p $ \satisfy -> do
go _ _ True = return NoChange
go satisfy flagfile False = do
r <- satisfy
- when (r == MadeChange) $ liftIO $
+ when (r == MadeChange) $ liftIO $
unlessM (doesFileExist flagfile) $ do
createDirectoryIfMissing True (takeDirectory flagfile)
writeFile flagfile ""
@@ -279,7 +279,7 @@ pickOS
, SingI c
-- Would be nice to have this constraint, but
-- union will not generate metatypes lists with the same
- -- order of OS's as is used everywhere else. So,
+ -- order of OS's as is used everywhere else. So,
-- would need a type-level sort.
--, Union a b ~ c
)
@@ -297,7 +297,7 @@ pickOS a b = c `addChildren` [toChildProperty a, toChildProperty b]
then getSatisfy b
else unsupportedOS'
matching Nothing _ = False
- matching (Just o) p =
+ matching (Just o) p =
Targeting (systemToTargetOS o)
`elem`
fromSing (proptype p)
diff --git a/src/Propellor/Types/Exception.hs b/src/Propellor/Types/Exception.hs
index 3a810d55..9fdcab93 100644
--- a/src/Propellor/Types/Exception.hs
+++ b/src/Propellor/Types/Exception.hs
@@ -1,10 +1,11 @@
+{-# LANGUAGE DeriveDataTypeable #-}
module Propellor.Types.Exception where
import Data.Typeable
import Control.Exception
--- | Normally when an exception is encountered while propellor is
--- ensuring a property, the property fails, but propellor robustly
+-- | Normally when an exception is encountered while propellor is
+-- ensuring a property, the property fails, but propellor robustly
-- continues on to the next property.
--
-- This is the only exception that will stop the entire propellor run,