diff options
| author | Eugen Wissner <belka@caraus.de> | 2023-08-15 10:33:19 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2023-08-15 10:33:19 +0200 |
| commit | 6b15ccd0f53c7ffd57820fb15664ecadee74392a (patch) | |
| tree | 20ba7c838a2be1e7bd0707ed098f505c43a4da79 /app/Main.hs | |
| parent | 5a9e87cd5f65439ef8f2717b3b3e561f42f2e24c (diff) | |
| download | slackbuilder-6b15ccd0f53c7ffd57820fb15664ecadee74392a.tar.gz | |
Support repository path in commits
Diffstat (limited to 'app/Main.hs')
| -rw-r--r-- | app/Main.hs | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/app/Main.hs b/app/Main.hs index 6901fa6..a90d19a 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -7,23 +7,33 @@ import Data.Maybe (fromMaybe) import Options.Applicative (execParser) import SlackBuilder.CommandLine import SlackBuilder.Config +import SlackBuilder.Trans import SlackBuilder.Updater import qualified Toml import qualified Data.Text as Text +import Control.Monad.Trans.Reader (ReaderT(..)) +import SlackBuilder.Download main :: IO () main = do programCommand <- execParser slackBuilderParser settings <- Toml.decodeFile settingsCodec "config/config.toml" - latestVersion <- case programCommand of - PackagistCommand packagistArguments -> - latestPackagist packagistArguments - TextCommand textArguments -> latestText textArguments - GhCommand ghArguments@GhArguments{ transform } -> - latestGitHub settings ghArguments $ chooseTransformFunction transform + latestVersion <- flip runReaderT settings + $ runSlackBuilderT + $ executeCommand programCommand Text.IO.putStrLn $ fromMaybe "" latestVersion where + executeCommand = \case + PackagistCommand packagistArguments -> + latestPackagist packagistArguments + TextCommand textArguments -> latestText textArguments + GhCommand ghArguments@GhArguments{ transform } + -> latestGitHub ghArguments $ chooseTransformFunction transform + SlackBuildCommand packagePath version -> + updateSlackBuildVersion packagePath version >> pure Nothing + CommitCommand packagePath version -> + commit packagePath version >> pure Nothing chooseTransformFunction (Just "php") = phpTransform chooseTransformFunction (Just "rdiff-backup") = Text.stripPrefix "v" chooseTransformFunction _ = stripPrefix "v" |
