module Buffet.Assemble.AssembleInternal ( get ) where import qualified Buffet.Assemble.BeforeFirstBuildStage as BeforeFirstBuildStage import qualified Buffet.Assemble.GlobalBuildStage as GlobalBuildStage import qualified Buffet.Assemble.LocalBuildStages as LocalBuildStages import qualified Buffet.Ir.Ir as Ir import qualified Buffet.Toolbox.DockerTools as DockerTools import qualified Buffet.Toolbox.TextTools as TextTools import qualified Data.Text as T import Prelude (($), (.), fmap, mconcat) get :: Ir.Buffet -> T.Text get :: Buffet -> Text get Buffet buffet = [DockerfilePart] -> Text printDockerfileParts ([DockerfilePart] -> Text) -> [DockerfilePart] -> Text forall a b. (a -> b) -> a -> b $ [[DockerfilePart]] -> [DockerfilePart] forall a. Monoid a => [a] -> a mconcat [ Buffet -> [DockerfilePart] BeforeFirstBuildStage.get Buffet buffet , Buffet -> [DockerfilePart] LocalBuildStages.get Buffet buffet , Buffet -> [DockerfilePart] GlobalBuildStage.get Buffet buffet ] printDockerfileParts :: [Ir.DockerfilePart] -> T.Text printDockerfileParts :: [DockerfilePart] -> Text printDockerfileParts = [Text] -> Text TextTools.intercalateNewline ([Text] -> Text) -> ([DockerfilePart] -> [Text]) -> [DockerfilePart] -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . (DockerfilePart -> Text) -> [DockerfilePart] -> [Text] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap DockerfilePart -> Text printInstructions printInstructions :: Ir.DockerfilePart -> T.Text printInstructions :: DockerfilePart -> Text printInstructions = [Text] -> Text forall a. Monoid a => [a] -> a mconcat ([Text] -> Text) -> (DockerfilePart -> [Text]) -> DockerfilePart -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . (Instruction Text -> Text) -> DockerfilePart -> [Text] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap Instruction Text -> Text DockerTools.printInstruction