module Hadolint ( module Hadolint.Lint, module Hadolint.Process, module Hadolint.Config, Result (..), OutputFormat (..), shallSkipErrorStatus, printResults, ) where import Data.Text (Text) import Hadolint.Config import qualified Hadolint.Formatter.Checkstyle import qualified Hadolint.Formatter.Codacy import qualified Hadolint.Formatter.Codeclimate import Hadolint.Formatter.Format (Result (..)) import qualified Hadolint.Formatter.Json import qualified Hadolint.Formatter.SonarQube import qualified Hadolint.Formatter.TTY import Hadolint.Lint import Hadolint.Process import Language.Docker.Parser (DockerfileError) data OutputFormat = Json | SonarQube | TTY | CodeclimateJson | GitlabCodeclimateJson | Checkstyle | Codacy deriving (Int -> OutputFormat -> ShowS [OutputFormat] -> ShowS OutputFormat -> String (Int -> OutputFormat -> ShowS) -> (OutputFormat -> String) -> ([OutputFormat] -> ShowS) -> Show OutputFormat forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [OutputFormat] -> ShowS $cshowList :: [OutputFormat] -> ShowS show :: OutputFormat -> String $cshow :: OutputFormat -> String showsPrec :: Int -> OutputFormat -> ShowS $cshowsPrec :: Int -> OutputFormat -> ShowS Show, OutputFormat -> OutputFormat -> Bool (OutputFormat -> OutputFormat -> Bool) -> (OutputFormat -> OutputFormat -> Bool) -> Eq OutputFormat forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: OutputFormat -> OutputFormat -> Bool $c/= :: OutputFormat -> OutputFormat -> Bool == :: OutputFormat -> OutputFormat -> Bool $c== :: OutputFormat -> OutputFormat -> Bool Eq) shallSkipErrorStatus :: OutputFormat -> Bool shallSkipErrorStatus :: OutputFormat -> Bool shallSkipErrorStatus OutputFormat format = OutputFormat format OutputFormat -> [OutputFormat] -> Bool forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool `elem` [OutputFormat CodeclimateJson, OutputFormat Codacy] printResults :: Foldable f => OutputFormat -> Bool -> Maybe FilePath -> f (Result Text DockerfileError) -> IO () printResults :: OutputFormat -> Bool -> Maybe String -> f (Result Text DockerfileError) -> IO () printResults OutputFormat format Bool nocolor Maybe String filePathInReport f (Result Text DockerfileError) allResults = case OutputFormat format of OutputFormat TTY -> f (Result Text DockerfileError) -> Bool -> IO () forall s e (f :: * -> *). (VisualStream s, TraversableStream s, ShowErrorComponent e, Foldable f) => f (Result s e) -> Bool -> IO () Hadolint.Formatter.TTY.printResults f (Result Text DockerfileError) allResults Bool nocolor OutputFormat SonarQube -> f (Result Text DockerfileError) -> IO () forall s e (f :: * -> *). (VisualStream s, TraversableStream s, ShowErrorComponent e, Foldable f) => f (Result s e) -> IO () Hadolint.Formatter.SonarQube.printResults f (Result Text DockerfileError) allResults OutputFormat Json -> f (Result Text DockerfileError) -> IO () forall s e (f :: * -> *). (VisualStream s, TraversableStream s, ShowErrorComponent e, Foldable f) => f (Result s e) -> IO () Hadolint.Formatter.Json.printResults f (Result Text DockerfileError) allResults OutputFormat Checkstyle -> f (Result Text DockerfileError) -> Maybe String -> IO () forall (f :: * -> *) s e. (Foldable f, VisualStream s, TraversableStream s, ShowErrorComponent e) => f (Result s e) -> Maybe String -> IO () Hadolint.Formatter.Checkstyle.printResults f (Result Text DockerfileError) allResults Maybe String filePathInReport OutputFormat CodeclimateJson -> f (Result Text DockerfileError) -> IO () forall s e (f :: * -> *). (VisualStream s, TraversableStream s, ShowErrorComponent e, Foldable f) => f (Result s e) -> IO () Hadolint.Formatter.Codeclimate.printResults f (Result Text DockerfileError) allResults OutputFormat GitlabCodeclimateJson -> f (Result Text DockerfileError) -> IO () forall (f :: * -> *) s e. (Foldable f, VisualStream s, TraversableStream s, ShowErrorComponent e) => f (Result s e) -> IO () Hadolint.Formatter.Codeclimate.printGitlabResults f (Result Text DockerfileError) allResults OutputFormat Codacy -> f (Result Text DockerfileError) -> IO () forall (f :: * -> *) s e. (Foldable f, VisualStream s, TraversableStream s, ShowErrorComponent e) => f (Result s e) -> IO () Hadolint.Formatter.Codacy.printResults f (Result Text DockerfileError) allResults