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