1- #!/usr/bin/env -S cabal run --verbose=1 --index-state=2024-04-09T14:49:48Z
1+ #!/usr/bin/env -S cabal --verbose=1 --index-state=2024-04-09T14:49:48Z run --
22{- cabal:
33 build-depends:
44 base,
@@ -47,6 +47,7 @@ import Data.Map.Strict (Map)
4747import qualified Data.Map.Strict as Map
4848import Data.Maybe
4949import qualified Data.Text as Text
50+ import qualified Data.Text.IO as Text
5051import qualified Data.Text.Encoding as Text
5152import Data.Version
5253import qualified GitHub
@@ -65,10 +66,11 @@ import Turtle
6566main :: IO ()
6667main = sh do
6768
68- (planJsonFilePath, gitHubAccessToken) <-
69- options generateReleaseChangelogLinksDescription do
70- (,) <$> argPath " plan_json_path" " Path of the plan.json file"
71- <*> fmap (GitHubAccessToken . Text. encodeUtf8) (argText " github_access_token" " GitHub personal access token" )
69+ (outputPath, planJsonFilePath, gitHubAccessToken) <-
70+ options generateReleaseChangelogLinksDescription $
71+ (,,) <$> optPath " output" ' o' " Write the generated links to OUTPUT"
72+ <*> argPath " plan_json_path" " Path of the plan.json file"
73+ <*> fmap (GitHubAccessToken . Text. encodeUtf8) (argText " github_access_token" " GitHub personal access token" )
7274
7375 packagesMap <- getCHaPPackagesMap
7476
@@ -97,7 +99,7 @@ main = sh do
9799 case pandocOutput of
98100 Left pandocError -> die $
99101 " Failed to render markdown with error " <> Pandoc. renderError pandocError
100- Right res -> printf (s% " \n " ) res
102+ Right res -> liftIO . Text. writeFile outputPath $ format (s% " \n " ) res
101103
102104generateReleaseChangelogLinksDescription :: Description
103105generateReleaseChangelogLinksDescription = Description $
0 commit comments