;shake commandtxts,manuals,changelogs,cabalfiles,update: --commit
This commit is contained in:
parent
d6b1a18178
commit
845f344eba
45
Shake.hs
45
Shake.hs
@ -69,13 +69,17 @@ usage =
|
|||||||
,"./Shake [help] show this help"
|
,"./Shake [help] show this help"
|
||||||
,"./Shake setversion [VER] [PKGS] [--commit]"
|
,"./Shake setversion [VER] [PKGS] [--commit]"
|
||||||
," update version strings from */.version (or VER)"
|
," update version strings from */.version (or VER)"
|
||||||
,"./Shake commandtxts update hledger CLI commands' usage texts"
|
,"./Shake commandtxts [--commit]"
|
||||||
,"./Shake manuals update txt/man/info/web manuals for all packages"
|
," update usage texts for hledger CLI commands"
|
||||||
,"./Shake webmanuals update just the web manuals"
|
,"./Shake manuals [--commit]"
|
||||||
,"./Shake changelogs [--dry-run]"
|
," update txt/man/info/web manuals for all packages"
|
||||||
," add new commits & headings to */CHANGES.md"
|
-- ,"./Shake webmanuals update just the web manuals"
|
||||||
,"./Shake cabalfiles update */*.cabal from */package.yaml"
|
,"./Shake changelogs [--commit] [--dry-run]"
|
||||||
,"./Shake update update all that needs updating, eg after setversion"
|
," update */CHANGES.md, adding new commits & headings"
|
||||||
|
,"./Shake cabalfiles [--commit]"
|
||||||
|
," update */*.cabal from */package.yaml"
|
||||||
|
,"./Shake update [--commit]"
|
||||||
|
," update all the above, eg after setversion"
|
||||||
,"./Shake build [PKGS] build hledger packages and their embedded docs"
|
,"./Shake build [PKGS] build hledger packages and their embedded docs"
|
||||||
,"./Shake clean remove generated texts, manuals"
|
,"./Shake clean remove generated texts, manuals"
|
||||||
,"./Shake Clean also remove object files, Shake's cache"
|
,"./Shake Clean also remove object files, Shake's cache"
|
||||||
@ -87,6 +91,7 @@ usage =
|
|||||||
-- groff = "groff -c" ++ " -Wall" -- see "groff" below
|
-- groff = "groff -c" ++ " -Wall" -- see "groff" below
|
||||||
makeinfo = "makeinfo" ++ " --no-warn" -- silence makeinfo warnings - comment out to see them
|
makeinfo = "makeinfo" ++ " --no-warn" -- silence makeinfo warnings - comment out to see them
|
||||||
pandoc = "pandoc --strip-comments"
|
pandoc = "pandoc --strip-comments"
|
||||||
|
gitcommit = "git commit --allow-empty"
|
||||||
|
|
||||||
-- Must support both BSD sed and GNU sed. Tips:
|
-- Must support both BSD sed and GNU sed. Tips:
|
||||||
-- BSD:
|
-- BSD:
|
||||||
@ -161,7 +166,7 @@ main = do
|
|||||||
]
|
]
|
||||||
pkgdirs = packages
|
pkgdirs = packages
|
||||||
pkgandprojdirs = "" : pkgdirs
|
pkgandprojdirs = "" : pkgdirs
|
||||||
cabalfiles = [p <.> "cabal" | p <- packages]
|
cabalfiles = [p </> p <.> "cabal" | p <- packages]
|
||||||
changelogs = map (</> "CHANGES.md") pkgandprojdirs
|
changelogs = map (</> "CHANGES.md") pkgandprojdirs
|
||||||
|
|
||||||
-- doc files (or related targets) that should be generated
|
-- doc files (or related targets) that should be generated
|
||||||
@ -268,7 +273,7 @@ main = do
|
|||||||
Nothing -> ""
|
Nothing -> ""
|
||||||
Just v -> "to " ++ v
|
Just v -> "to " ++ v
|
||||||
]
|
]
|
||||||
cmd Shell ("git commit -m '"++msg++"' --") specifiedversionfiles dependents
|
cmd Shell gitcommit ("-m '"++msg++"' --") specifiedversionfiles dependents
|
||||||
|
|
||||||
-- PKG/defs.m4 <- PKG/.version
|
-- PKG/defs.m4 <- PKG/.version
|
||||||
"hledger*/defs.m4" %> \out -> do
|
"hledger*/defs.m4" %> \out -> do
|
||||||
@ -351,13 +356,16 @@ main = do
|
|||||||
-- MANUALS
|
-- MANUALS
|
||||||
|
|
||||||
-- Generate the manuals in plain text, nroff, info, and markdown formats.
|
-- Generate the manuals in plain text, nroff, info, and markdown formats.
|
||||||
phony "manuals" $ need $
|
phony "manuals" $ do
|
||||||
concat [
|
need $ concat [
|
||||||
nroffmanuals
|
nroffmanuals
|
||||||
,infomanuals
|
,infomanuals
|
||||||
,txtmanuals
|
,txtmanuals
|
||||||
,webmanuals
|
,webmanuals
|
||||||
]
|
]
|
||||||
|
when commit $ do
|
||||||
|
let msg = ";update manuals"
|
||||||
|
cmd Shell gitcommit ("-m '"++msg++"' --") nroffmanuals infomanuals txtmanuals
|
||||||
|
|
||||||
-- Generate nroff man pages suitable for man output, from the .m4.md source.
|
-- Generate nroff man pages suitable for man output, from the .m4.md source.
|
||||||
phony "nroffmanuals" $ need nroffmanuals
|
phony "nroffmanuals" $ need nroffmanuals
|
||||||
@ -495,9 +503,16 @@ main = do
|
|||||||
-- regenerate .cabal files from package.yaml's, using stack (also installs deps)
|
-- regenerate .cabal files from package.yaml's, using stack (also installs deps)
|
||||||
phony "cabalfiles" $ do
|
phony "cabalfiles" $ do
|
||||||
cmd Shell "stack build --dry-run --silent" :: Action ()
|
cmd Shell "stack build --dry-run --silent" :: Action ()
|
||||||
|
when commit $ do
|
||||||
|
let msg = ";update cabal files"
|
||||||
|
cmd Shell gitcommit ("-m '"++msg++"' --") cabalfiles
|
||||||
|
|
||||||
-- regenerate Hledger/Cli/Commands/*.txt from the .md source files for CLI help
|
-- regenerate Hledger/Cli/Commands/*.txt from the .md source files for CLI help
|
||||||
phony "commandtxts" $ need commandtxts
|
phony "commandtxts" $ do
|
||||||
|
need commandtxts
|
||||||
|
when commit $ do
|
||||||
|
let msg = ";update CLI usage texts"
|
||||||
|
cmd Shell gitcommit ("-m '"++msg++"' --") commandtxts
|
||||||
|
|
||||||
commandtxts |%> \out -> do
|
commandtxts |%> \out -> do
|
||||||
let src = out -<.> "md"
|
let src = out -<.> "md"
|
||||||
@ -539,7 +554,11 @@ main = do
|
|||||||
]
|
]
|
||||||
|
|
||||||
-- update all changelogs with latest commits
|
-- update all changelogs with latest commits
|
||||||
phony "changelogs" $ need changelogs
|
phony "changelogs" $ do
|
||||||
|
need changelogs
|
||||||
|
when commit $ do
|
||||||
|
let msg = ";update changelogs"
|
||||||
|
cmd Shell gitcommit ("-m '"++msg++"' --") changelogs
|
||||||
|
|
||||||
-- [PKG/]CHANGES.md
|
-- [PKG/]CHANGES.md
|
||||||
-- Add any new non-boring commits to the specified changelog, in
|
-- Add any new non-boring commits to the specified changelog, in
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user