hadolint-2.0.0: src/Hadolint.hs
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.TTY
import Hadolint.Lint
import Hadolint.Process
import Language.Docker.Parser (DockerfileError)
data OutputFormat
= Json
| TTY
| CodeclimateJson
| GitlabCodeclimateJson
| Checkstyle
| Codacy
deriving (Show, Eq)
shallSkipErrorStatus :: OutputFormat -> Bool
shallSkipErrorStatus format = format `elem` [CodeclimateJson, Codacy]
printResults :: Foldable f => OutputFormat -> Bool -> f (Result Text DockerfileError) -> IO ()
printResults format nocolor allResults =
case format of
TTY -> Hadolint.Formatter.TTY.printResults allResults nocolor
Json -> Hadolint.Formatter.Json.printResults allResults
Checkstyle -> Hadolint.Formatter.Checkstyle.printResults allResults
CodeclimateJson -> Hadolint.Formatter.Codeclimate.printResults allResults
GitlabCodeclimateJson -> Hadolint.Formatter.Codeclimate.printGitlabResults allResults
Codacy -> Hadolint.Formatter.Codacy.printResults allResults