@@ -4,6 +4,7 @@ import Stackage.Build (build, defaultBuildSettings)
4import Stackage.Init (stackageInit)
4import Stackage.Init (stackageInit)
5import System.Environment (getArgs, getProgName)
5import System.Environment (getArgs, getProgName)
6import Data.Set (fromList)
6import Data.Set (fromList)
7+import System.IO (hFlush, stdout)
8data BuildArgs = BuildArgs
9data BuildArgs = BuildArgs
9 { noClean :: Bool
10 { noClean :: Bool
@@ -29,7 +30,15 @@ main = do
29 { cleanBeforeBuild = not noClean
30 { cleanBeforeBuild = not noClean
30 , excludedPackages = fromList $ map PackageName excluded
31 , excludedPackages = fromList $ map PackageName excluded
34+ putStrLn "Note: init isn't really ready for prime time use."
35+ putStrLn "Using it may make it impossible to build stackage."
36+ putStr "Are you sure you want continue (y/n)? "
32− ["init"] -> stackageInit
40+ c:_ | c `elem` "yY" -> stackageInit
41+ _ -> putStrLn "Probably a good decision, exiting."
33 ["update"] -> stackageInit >> error "FIXME update"
42 ["update"] -> stackageInit >> error "FIXME update"
35 pn <- getProgName
44 pn <- getProgName