From 349e675a499187379ddb14c5f6ce8203de10183e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 10 Oct 2015 11:40:12 -0400 Subject: Improved documentation, particularly of the Propellor module. This involved some code changes, including some renaming of instance methods. (ABI change) --- src/Propellor.hs | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'src/Propellor.hs') diff --git a/src/Propellor.hs b/src/Propellor.hs index 51079ed0..c316c729 100644 --- a/src/Propellor.hs +++ b/src/Propellor.hs @@ -1,4 +1,5 @@ {-# LANGUAGE PackageImports #-} +{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} -- | Pulls in lots of useful modules for building and using Properties. -- @@ -30,18 +31,42 @@ -- git clone module Propellor ( - module Propellor.Types + -- * Core data types + Host(..) + , Property + , RevertableProperty + , () + -- * Defining a Host and its properties + , host + , (&) + , (!) + -- * Combining properties + -- | Properties are often combined together in your propellor + -- configuration. For example: + -- + -- > "/etc/foo/config" `File.containsLine` "bar=1" + -- > `requires` File.dirExists "/etc/foo" + , requires + , before + , onChange + -- * Included modules + , module Propellor.Types , module Propellor.Property - , module Propellor.Property.List + -- | Everything you need to build your own properties, + -- and useful property combinators , module Propellor.Property.Cmd + -- | Properties to run shell commands + , module Propellor.Property.List + -- | Combining a list of properties into a single property + , module Propellor.Types.PrivData + -- | Private data access for properties , module Propellor.PropAccum , module Propellor.Info , module Propellor.PrivData - , module Propellor.Types.PrivData , module Propellor.Engine , module Propellor.Exception , module Propellor.Message - , localdir + , module Propellor.Location , module X ) where @@ -57,7 +82,10 @@ import Propellor.Message import Propellor.Exception import Propellor.Info import Propellor.PropAccum +import Propellor.Location +-- Things imported as X won't be included in the haddock for this page, +-- but will be re-exported silently. import Utility.PartialPrelude as X import Utility.Process as X import Utility.Exception as X @@ -77,7 +105,3 @@ import Control.Monad as X import Data.Monoid as X import Control.Monad.IfElse as X import "mtl" Control.Monad.Reader as X - --- | This is where propellor installs itself when deploying a host. -localdir :: FilePath -localdir = "/usr/local/propellor" -- cgit v1.2.3