module Stack.Lib.Build (build, buildWithResolver, buildWithResolvers) where import Stack.Types.Config (globalResolver) import Stack.Types.Config.Build (defaultBuildOptsCLI) import Stack.Lib.LowerLevel.Runners (defaultGlobalOpts) import Stack.Lib.Class.IsAbstractResolver (IsAbstractResolver(toAbstractResolver)) import Stack.Lib.LowerLevel.Build (buildWithOptions) import Control.Monad (mapM_) buildWithResolver :: IsAbstractResolver resolver => resolver -> IO () buildWithResolver resolver = buildWithOptions defaultGlobalOpts{globalResolver = Just (toAbstractResolver resolver)} defaultBuildOptsCLI buildWithResolvers :: (Foldable f, IsAbstractResolver resolver) => f resolver -> IO () buildWithResolvers = mapM_ buildWithResolver build :: IO () build = buildWithOptions defaultGlobalOpts defaultBuildOptsCLI