A library providing definitions to work with monetary values.
Please see the README on GitHub at https://github.com/telostat/haspara#readme
haspara
Note: This software is under development and of prototype quality at the moment. Expect significant breaking changes without notification until we reach the first minor version. Until then, we will keep bumping the patch version.
haspara is a Haskell library that provides monetary definitions and a rudimentary (and experimental) accounting functionality.
Development
Big, long build command for the impatient:
hpack &&
direnv reload &&
fourmolu -i src/ test/ &&
prettier --write . &&
find . -iname "*.nix" -not -path "*/nix/sources.nix" -print0 | xargs --null nixpkgs-fmt &&
hlint src/ test/ &&
cabal build -O0 &&
cabal run -O0 haspara -- --version &&
cabal v1-test &&
cabal haddock -O0
To test and build codebase in development environment, run:
dev-test-build
Making Releases
Checkout
mainbranch:git checkout mainEnsure that your branch is up to date:
git pullUpdate the
versioninformation in package.yaml if required, runhpackto reflect the change on the.cabalfile, and recompile the project, run tests and generate Haddock documentation:nix-shell --run "dev-test-build -c"Update CHANGELOG.md file:
git-chglog --next-tag <NEW-VERSION> -o CHANGELOG.mdCommit, tag and push:
git commit -am "chore(release): <NEW-VERSION>" git tag -a -m "Release <NEW-VERSION>" <NEW-VERSION> git push --follow-tags origin mainCreate the package, upload to Hackage as a candidate first and check the result:
nix-shell --run "dev-test-build -c" nix-shell --run "cabal sdist" nix-shell --run "cabal upload dist-newstyle/sdist/haspara-<VERSION>.tar.gz"If the candidate package release works fine, release to Hackage:
nix-shell --run "cabal upload --publish dist-newstyle/sdist/haspara-<VERSION>.tar.gz"Make sure that the release is available on Hackage.
Make sure that the release is available on GitHub.
License
Copyright Telostat Pte Ltd (c) 2021-2024.
This work is licensed under MIT license. See LICENSE.