module Changelogged.Bump.General where
import Turtle
import Prelude hiding (FilePath)
import Data.Text (Text)
import System.Console.ANSI (Color(..))
import Changelogged.Types
import Changelogged.Pure
import Changelogged.Utils
import Changelogged.Bump.Common
generateVersion :: Level -> Text -> IO Text
generateVersion lev current = return $ bump (delimited current) lev
generateVersionByChangelog :: Bool -> FilePath -> Text -> IO (Maybe Text)
generateVersionByChangelog True _ _ = do
coloredPrint Yellow "You are bumping version with no explicit version modifiers and changelog checks. It can result in anything. Please retry.\n"
return Nothing
generateVersionByChangelog False changelogFile curVersion = do
versionedChanges <- getChangelogEntries changelogFile
case versionedChanges of
Just lev -> Just <$> generateVersion lev curVersion
Nothing -> do
coloredPrint Yellow ("WARNING: keep old version since " <> showPath changelogFile <> " apparently does not contain any new entries.\n")
return Nothing