module Language.Dockerfile ( -- * Parsing Dockerfiles (@Language.Dockerfile.Syntax@ and @Language.Dockerfile.Parser@) Language.Dockerfile.Syntax.Dockerfile , parseString , parseFile -- * Pretty-printing Dockerfiles (@Language.Dockerfile.PrettyPrint@) , prettyPrint , prettyPrintInstructionPos -- * Writting Dockerfiles (@Language.Dockerfile.EDSL@) , Language.Dockerfile.EDSL.toDockerfileStr , Language.Dockerfile.EDSL.toDockerfile , Language.Dockerfile.EDSL.toDockerfileStrIO , Language.Dockerfile.EDSL.toDockerfileIO , Language.Dockerfile.EDSL.runDockerfileIO , Language.Dockerfile.EDSL.runDockerfileStrIO , Control.Monad.IO.Class.liftIO , Language.Dockerfile.EDSL.from -- ** Constructing base images , Language.Dockerfile.EDSL.tagged , Language.Dockerfile.EDSL.untagged , Language.Dockerfile.EDSL.digested -- ** Syntax , Language.Dockerfile.EDSL.add , Language.Dockerfile.EDSL.user , Language.Dockerfile.EDSL.label , Language.Dockerfile.EDSL.stopSignal , Language.Dockerfile.EDSL.copy , Language.Dockerfile.EDSL.run , Language.Dockerfile.EDSL.runArgs , Language.Dockerfile.EDSL.cmd , Language.Dockerfile.EDSL.cmdArgs , Language.Dockerfile.EDSL.workdir , Language.Dockerfile.EDSL.expose , Language.Dockerfile.EDSL.ports , Language.Dockerfile.EDSL.port , Language.Dockerfile.EDSL.volume , Language.Dockerfile.EDSL.entrypoint , Language.Dockerfile.EDSL.entrypointArgs , Language.Dockerfile.EDSL.maintainer , Language.Dockerfile.EDSL.env , Language.Dockerfile.EDSL.arg , Language.Dockerfile.EDSL.comment , Language.Dockerfile.EDSL.onBuild , Language.Dockerfile.EDSL.onBuildRaw , Language.Dockerfile.EDSL.embed , Language.Dockerfile.EDSL.Quasi.edockerfile -- ** Support types for the EDSL , Language.Dockerfile.EDSL.EDockerfileM , Language.Dockerfile.EDSL.EDockerfileTM , Language.Dockerfile.EDSL.Types.EBaseImage(..) -- * QuasiQuoter (@Language.Dockerfile.EDSL.Quasi@) , Language.Dockerfile.EDSL.Quasi.dockerfile -- * Types (@Language.Dockerfile.Syntax@) , Language.Dockerfile.Syntax.Instruction(..) , Language.Dockerfile.Syntax.InstructionPos(..) , Language.Dockerfile.Syntax.BaseImage(..) , Language.Dockerfile.Syntax.Image , Language.Dockerfile.Syntax.Tag , Language.Dockerfile.Syntax.Ports , Language.Dockerfile.Syntax.Directory , Language.Dockerfile.Syntax.Source , Language.Dockerfile.Syntax.Destination , Language.Dockerfile.Syntax.Arguments , Language.Dockerfile.Syntax.Pairs , Language.Dockerfile.Syntax.Filename , Language.Dockerfile.Syntax.Linenumber -- * Re-exports from @parsec@ , ParseError -- * Instruction and InstructionPos helpers , Language.Dockerfile.Syntax.instruction , Language.Dockerfile.EDSL.instructionPos , Language.Dockerfile.Syntax.sourcename ) where import qualified Control.Monad.IO.Class import qualified Language.Dockerfile.EDSL import qualified Language.Dockerfile.EDSL.Quasi import qualified Language.Dockerfile.EDSL.Types import Language.Dockerfile.Parser import Language.Dockerfile.PrettyPrint import qualified Language.Dockerfile.Syntax import Text.Parsec (ParseError)