mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 20:02:27 +03:00
just: format
This commit is contained in:
parent
74864f682e
commit
b6531a516e
146
justfile
146
justfile
@ -4,7 +4,6 @@
|
||||
# https://just.systems/man/en/chapter_31.html Functions
|
||||
# See also Makefile, Shake.hs
|
||||
|
||||
|
||||
@help:
|
||||
just -lu
|
||||
|
||||
@ -24,50 +23,50 @@
|
||||
|
||||
# Symlink/copy important files temporarily in .relfiles/.
|
||||
relfiles:
|
||||
#!/usr/bin/env bash
|
||||
echo "linking/copying important release files in .relfiles/ for convenient access..."
|
||||
mkdir -p .relfiles
|
||||
cd .relfiles
|
||||
for f in \
|
||||
../stack.yaml \
|
||||
../Shake.hs \
|
||||
../hledger-install/hledger-install.sh \
|
||||
../CHANGES.md \
|
||||
../hledger/CHANGES.md \
|
||||
../hledger-ui/CHANGES.md \
|
||||
../hledger-web/CHANGES.md \
|
||||
../hledger-lib/CHANGES.md \
|
||||
../doc/github-release.md \
|
||||
../doc/ANNOUNCE \
|
||||
../doc/ANNOUNCE.masto \
|
||||
../site/src/release-notes.md \
|
||||
../site/src/install.md \
|
||||
; do ln -sf $f .; done
|
||||
cp ../doc/RELEASING.md ./RELEASING2.md # temp copy which can be edited without disruption
|
||||
#!/usr/bin/env bash
|
||||
echo "linking/copying important release files in .relfiles/ for convenient access..."
|
||||
mkdir -p .relfiles
|
||||
cd .relfiles
|
||||
for f in \
|
||||
../stack.yaml \
|
||||
../Shake.hs \
|
||||
../hledger-install/hledger-install.sh \
|
||||
../CHANGES.md \
|
||||
../hledger/CHANGES.md \
|
||||
../hledger-ui/CHANGES.md \
|
||||
../hledger-web/CHANGES.md \
|
||||
../hledger-lib/CHANGES.md \
|
||||
../doc/github-release.md \
|
||||
../doc/ANNOUNCE \
|
||||
../doc/ANNOUNCE.masto \
|
||||
../site/src/release-notes.md \
|
||||
../site/src/install.md \
|
||||
; do ln -sf $f .; done
|
||||
cp ../doc/RELEASING.md ./RELEASING2.md # temp copy which can be edited without disruption
|
||||
|
||||
# Prepare to release today, creating/switching to release branch, updating versions, manuals, changelogs etc.
|
||||
relprep VER:
|
||||
#!/usr/bin/env bash
|
||||
[[ -z {{VER}} ]] && usage
|
||||
BRANCH=$(just _versionReleaseBranch {{VER}})
|
||||
COMMIT="-c"
|
||||
echo "Switching to $BRANCH, auto-creating it if needed..."
|
||||
_gitSwitchAutoCreate "$BRANCH"
|
||||
echo "Bumping all version strings to {{VER}} ..."
|
||||
./Shake setversion {{VER}} $COMMIT
|
||||
echo "Updating all command help texts for embedding..."
|
||||
./Shake cmdhelp $COMMIT
|
||||
echo "Updating all dates in man pages..."
|
||||
./Shake mandates
|
||||
echo "Generating all the manuals in all formats...."
|
||||
./Shake manuals $COMMIT
|
||||
echo "Updating CHANGES.md files with latest commits..."
|
||||
./Shake changelogs $COMMIT
|
||||
#!/usr/bin/env bash
|
||||
[[ -z {{ VER }} ]] && usage
|
||||
BRANCH=$(just _versionReleaseBranch {{ VER }})
|
||||
COMMIT="-c"
|
||||
echo "Switching to $BRANCH, auto-creating it if needed..."
|
||||
_gitSwitchAutoCreate "$BRANCH"
|
||||
echo "Bumping all version strings to {{ VER }} ..."
|
||||
./Shake setversion {{ VER }} $COMMIT
|
||||
echo "Updating all command help texts for embedding..."
|
||||
./Shake cmdhelp $COMMIT
|
||||
echo "Updating all dates in man pages..."
|
||||
./Shake mandates
|
||||
echo "Generating all the manuals in all formats...."
|
||||
./Shake manuals $COMMIT
|
||||
echo "Updating CHANGES.md files with latest commits..."
|
||||
./Shake changelogs $COMMIT
|
||||
|
||||
# Push the current branch to github to generate release binaries.
|
||||
@relbin:
|
||||
# assumes the github remote is named "github"
|
||||
git push -f github HEAD:binaries
|
||||
# assumes the github remote is named "github"
|
||||
git push -f github HEAD:binaries
|
||||
|
||||
# *** hledger version numbers
|
||||
# See doc/RELEASING.md > Glossary.
|
||||
@ -100,12 +99,12 @@ relprep VER:
|
||||
_versionReleaseBranch VER:
|
||||
#!/usr/bin/env bash
|
||||
MAJOR=$(just _versionMajorPart {{ VER }})
|
||||
if [[ $(just _versionIsDev {{VER}}) == y ]] then
|
||||
echo "{{VER}} is not a releasable version" >&2
|
||||
if [[ $(just _versionIsDev {{ VER }}) == y ]] then
|
||||
echo "{{ VER }} is not a releasable version" >&2
|
||||
exit 1
|
||||
elif [[ $(just _versionIsPreview {{VER}}) == y ]] then
|
||||
elif [[ $(just _versionIsPreview {{ VER }}) == y ]] then
|
||||
# echo "$(just majorVersionIncrement "$MAJOR")-branch"
|
||||
echo "{{VER}} is not a releasable version" >&2
|
||||
echo "{{ VER }} is not a releasable version" >&2
|
||||
exit 1
|
||||
else
|
||||
echo "$MAJOR-branch"
|
||||
@ -115,43 +114,43 @@ _versionReleaseBranch VER:
|
||||
|
||||
# Does the named branch exist in this git repo ?
|
||||
@_gitBranchExists BRANCH:
|
||||
git branch -l {{BRANCH}} | grep -q {{BRANCH}}
|
||||
git branch -l {{ BRANCH }} | grep -q {{ BRANCH }}
|
||||
|
||||
# Switch to the named git branch, creating it if it doesn't exist.
|
||||
_gitSwitchAutoCreate BRANCH:
|
||||
#!/usr/bin/env bash
|
||||
if just _gitBranchExists {{BRANCH}}; then
|
||||
git switch {{BRANCH}}
|
||||
else
|
||||
git switch -c {{BRANCH}}
|
||||
fi
|
||||
#!/usr/bin/env bash
|
||||
if just _gitBranchExists {{ BRANCH }}; then
|
||||
git switch {{ BRANCH }}
|
||||
else
|
||||
git switch -c {{ BRANCH }}
|
||||
fi
|
||||
|
||||
# ** misc
|
||||
|
||||
# Show last week's activity, for TWIH
|
||||
@lastweek:
|
||||
echo "hledger time last 7 days including today (this should be run on a Friday):"
|
||||
tt bal hledger -DTS -b '6 days ago' --drop 2
|
||||
echo
|
||||
echo "By activity type, percentage:"
|
||||
tt bal hledger -DTS -b '6 days ago' --pivot t -% -c 1% | tail +1
|
||||
echo
|
||||
echo "Time log details:"
|
||||
tt print hledger -b '6 days ago' | grep -E '^[^ ]|hledger'
|
||||
echo
|
||||
echo "main repo:"
|
||||
git log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
echo "site repo:"
|
||||
git -C site log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
echo "finance repo:"
|
||||
git -C finance log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
echo "hledger time last 7 days including today (this should be run on a Friday):"
|
||||
tt bal hledger -DTS -b '6 days ago' --drop 2
|
||||
echo
|
||||
echo "By activity type, percentage:"
|
||||
tt bal hledger -DTS -b '6 days ago' --pivot t -% -c 1% | tail +1
|
||||
echo
|
||||
echo "Time log details:"
|
||||
tt print hledger -b '6 days ago' | grep -E '^[^ ]|hledger'
|
||||
echo
|
||||
echo "main repo:"
|
||||
git log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
echo "site repo:"
|
||||
git -C site log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
echo "finance repo:"
|
||||
git -C finance log --format='%C(yellow)%cd %ad %Cred%h%Creset %s %Cgreen(%an)%Creset%C(bold blue)%d%Creset' --date=short --since="6 days ago" --reverse
|
||||
echo
|
||||
|
||||
# Show a bunch of debug messages.
|
||||
@_dbgmsgs:
|
||||
rg --sort path -t hs 'dbg.*?(".*")' -r '$1' -o
|
||||
rg --sort path -t hs 'dbg.*?(".*")' -r '$1' -o
|
||||
|
||||
# # Extract Hledger.hs examples to jargon.j.
|
||||
# @_jargon:
|
||||
@ -159,9 +158,8 @@ _gitSwitchAutoCreate BRANCH:
|
||||
# echo "wrote jargon.j"
|
||||
|
||||
# Extract ledger/hledger/beancount commit stats to project-commits.j.
|
||||
# See also https://hledger.org/reporting-version-control-stats.html
|
||||
@_projectcommits:
|
||||
printf "account ledger\naccount hledger\naccount beancount\n\n" >project-commits.j
|
||||
for p in ledger hledger beancount; do git -C ../$p log --format="%cd (%h) %s%n ($p) 1%n" --date=short --reverse >> project-commits.j; done
|
||||
echo "wrote project-commits.j"
|
||||
|
||||
# https://hledger.org/reporting-version-control-stats.html
|
||||
printf "account ledger\naccount hledger\naccount beancount\n\n" >project-commits.j
|
||||
for p in ledger hledger beancount; do git -C ../$p log --format="%cd (%h) %s%n ($p) 1%n" --date=short --reverse >> project-commits.j; done
|
||||
echo "wrote project-commits.j"
|
||||
|
Loading…
Reference in New Issue
Block a user