diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-02-28 12:20:03 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-02-28 12:27:07 -0400 |
| commit | dc03e317b40d640e6501be0fce3e32bc29699fbb (patch) | |
| tree | 4e5b2a7bb2db17c6e962dcbf18f03ada645038f2 /src/Propellor/CmdLine.hs | |
| parent | 1a62575d3dc8ce703705de08ccd27b4b034a3388 (diff) | |
Propellor now builds itself without needing the Makefile.
Diffstat (limited to 'src/Propellor/CmdLine.hs')
| -rw-r--r-- | src/Propellor/CmdLine.hs | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs index 15dc09c3..9d7d0d95 100644 --- a/src/Propellor/CmdLine.hs +++ b/src/Propellor/CmdLine.hs @@ -12,6 +12,7 @@ import qualified Network.BSD import Propellor import Propellor.Gpg import Propellor.Git +import Propellor.Bootstrap import Propellor.Spin import Propellor.Types.CmdLine import qualified Propellor.Property.Docker as Docker @@ -31,6 +32,7 @@ usage h = hPutStrLn h $ unlines , " propellor --edit field context" , " propellor --list-fields" , " propellor --merge" + , " propellor --build" ] usageError :: [String] -> IO a @@ -128,19 +130,16 @@ unknownhost h hosts = errorMessage $ unlines ] buildFirst :: CmdLine -> IO () -> IO () -buildFirst cmdline next = ifM (doesFileExist "Makefile") - ( do - oldtime <- getmtime - ifM (actionMessage "Propellor build" $ boolSystem "make" [Param "build"]) - ( do - newtime <- getmtime - if newtime == oldtime - then next - else void $ boolSystem "./propellor" [Param "--continue", Param (show cmdline)] - , errorMessage "Propellor build failed!" - ) - , next - ) +buildFirst cmdline next = do + oldtime <- getmtime + buildPropellor + newtime <- getmtime + if newtime == oldtime + then next + else void $ boolSystem "./propellor" + [ Param "--continue" + , Param (show cmdline) + ] where getmtime = catchMaybeIO $ getModificationTime "propellor" @@ -155,10 +154,12 @@ updateFirst cmdline next = ifM hasOrigin (updateFirst' cmdline next, next) updateFirst' :: CmdLine -> IO () -> IO () updateFirst' cmdline next = ifM fetchOrigin - ( ifM (actionMessage "Propellor build" $ boolSystem "make" [Param "build"]) - ( void $ boolSystem "./propellor" [Param "--continue", Param (show cmdline)] - , errorMessage "Propellor build failed!" - ) + ( do + buildPropellor + void $ boolSystem "./propellor" + [ Param "--continue" + , Param (show cmdline) + ] , next ) |
