policeman alternatives and similar packages
Based on the "Cabal" category.
Alternatively, view policeman alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of policeman or a related project?
👮 Policeman is the Kowainik's Bristol Haskell Hackathon project.
🏗 The current status is MVP, though it could already be used on ordinary cases.
Policeman assists to properly choose the next version number according to
PVP (Packaging Version Policy) for the Haskell packages based on the
semantical changes to the interface.
For a better understanding of the project basis and implementation details please refer to the following blog post:
Policeman heavily uses some modern features of the Haskell compiler
Therefore, in order to start using
Policeman on the projects, you are required
to have the following set:
- Global GHC version
- Support of GHC
8.8and higher in your current project and the version you wish to compare to
- cabal build tool version
3.0or higher installed on your machine
The initial beta version of
Policeman is already available on Hackage.
To install it locally you need to execute the following commands:
cabal update cabal install policeman
Alternatively, you can install the
Policeman tool from the sources. For
achieving that, you have a couple of options.
First one is to fetch the repo using
cabal get -s policeman
Or, you can clone the directory directly from GitHub:
git clone https://github.com/kowainik/policeman.git
The next steps are identical in both option. You need to step into the directory:
And finally, build and install the tool using
cabal install policeman:exe:policeman
How to use
By default, Policeman aims to compare your local version with the latest available Hackage version of the package. It grabs the information about your package automatically, so no need to provide that. That means that the simplest command looks like this:
It will output the suggested new version (if applicable) based on your local changes compared to the Hackage version.
Alternatively, you can provide the Hackage version you are willing to compare
against. For that purpose, you can use
-p | --previous option. For example:
policeman --previous "0.1.0.0"
*Note that all licence references and agreements mentioned in the policeman README section above are relevant to that project's source code only.