From afd6540b639fc6202d6b3f59c7c23e24ecd33c18 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 18 Feb 2025 13:12:54 -1000 Subject: [PATCH] ;tools:just: generate module, package diagrams --- Justfile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Justfile b/Justfile index 46f56ebcf69..4c11b502854 100644 --- a/Justfile +++ b/Justfile @@ -934,6 +934,45 @@ haddock-open: # # 2. cron, nightly. Config: /etc/crontab # # 3. manually: "make site" on hledger.org, or "make hledgerorg" elsewhere (cf Makefile.local). +# Generate packages diagrams for the hledger packages. +@packagediags: + # just packagediag hledger-lib + # just packagediag hledger + # just packagediag hledger-ui + # just packagediag hledger-web + stack exec -- ghc-pkg dot | tred | dot -Tsvg >packages.svg + +# View the packages diagrams. +@packagediags-view: + # open -a safari hledger-lib/packages.svg + # open -a safari hledger/packages.svg + # open -a safari hledger-ui/packages.svg + # open -a safari hledger-web/packages.svg + open -a safari packages.svg + +# # Generate a packages diagram for a hledger package. +# @packagediag PKG: +# cd && stack exec -- ghc-pkg dot | tred | dot -Tsvg >packages.svg + +# Generate modules diagrams for the hledger packages. +@modulediags: + just modulediag hledger-lib + just modulediag hledger + just modulediag hledger-ui + just modulediag hledger-web + cd hledger && stack exec -- graphmod -q -c Hledger.Cli.Commands | tred | dot -Tsvg >modules-collapsed.svg + +# View the modules diagrams. +@modulediags-view: + open -a safari hledger-lib/modules.svg + open -a safari hledger/modules.svg + open -a safari hledger-ui/modules.svg + open -a safari hledger-web/modules.svg + +# Generate a modules diagram for a hledger package. +@modulediag PKG: + cd {{ PKG }} && stack exec -- graphmod -q | tred | dot -Tsvg >modules.svg + # optimise and commit RELEASING value map diagram @releasediag: pngquant doc/HledgerReleaseValueMap.png -f -o doc/HledgerReleaseValueMap.png