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 --
2
2
{- cabal:
3
3
build-depends:
4
4
base,
@@ -47,6 +47,7 @@ import Data.Map.Strict (Map)
47
47
import qualified Data.Map.Strict as Map
48
48
import Data.Maybe
49
49
import qualified Data.Text as Text
50
+ import qualified Data.Text.IO as Text
50
51
import qualified Data.Text.Encoding as Text
51
52
import Data.Version
52
53
import qualified GitHub
@@ -65,10 +66,11 @@ import Turtle
65
66
main :: IO ()
66
67
main = sh do
67
68
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" )
72
74
73
75
packagesMap <- getCHaPPackagesMap
74
76
@@ -97,7 +99,7 @@ main = sh do
97
99
case pandocOutput of
98
100
Left pandocError -> die $
99
101
" 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
101
103
102
104
generateReleaseChangelogLinksDescription :: Description
103
105
generateReleaseChangelogLinksDescription = Description $
0 commit comments