cabal-bounds 0.1.5 → 0.1.6
raw patch · 2 files changed
+31/−16 lines, 2 files
Files
- README.md +10/−2
- cabal-bounds.cabal +21/−14
README.md view
@@ -3,6 +3,14 @@ A command line program for managing the bounds/versions of the dependencies in a cabal file. +`cabal-bounds` is able to do two things:++ - drop the bounds of the dependencies in the cabal file+ - update the bounds of the dependencies in the cabal file using the cabal build information++Example: Raise the upper Bounds+===============================+ If you have several cabalized projects, then it can be quite time consuming to keep the bounds of your dependencies up to date. Especially if you're following the [package versioning policy](<http://www.haskell.org/haskellwiki/Package_versioning_policy>), then you want to raise your upper bounds from time to time, to allow the building with newer@@ -25,8 +33,8 @@ $> # update the upper bound of all dependencies in 'myproject.cabal' by the cabal build information $> cabal-bounds update --upper --ignore=base myproject.cabal dist/dist-sandbox-*/setup-config -Examples-========+Example: Bound Changes+====================== The `=>` shows what the result is of the operation for every dependency. Left is the dependency before calling the command, right the one after calling.
cabal-bounds.cabal view
@@ -1,18 +1,25 @@ name: cabal-bounds-version: 0.1.5+version: 0.1.6 cabal-version: >=1.9.2 build-type: Simple license: BSD3 license-file: LICENSE maintainer: daniel.trstenjak@gmail.com synopsis: A command line program for managing the bounds/versions of the dependencies in a cabal file.-description: If you have several cabalized projects, then it can be quite time consuming to keep the- bounds of your dependencies up to date. Especially if you're following the, then you want- to raise your upper bounds from time to time, to allow the building with newer versions- of the dependencies.+description: 'cabal-bounds' is able to do two things: .- cabal-bounds tries to automate this update process to some degree. So a typical update process might look like:+ > - drop the bounds of the dependencies in the cabal file+ > - update the bounds of the dependencies in the cabal file using the cabal build information .+ /Example: Raise the upper Bounds/+ .+ If you have several cabalized projects, then it can be quite time consuming to keep the+ bounds of your dependencies up to date. Especially if you're following the package versioning+ policy, then you want to raise your upper bounds from time to time, to allow the building with+ newer versions of the dependencies.+ .+ 'cabal-bounds' tries to automate this update process to some degree. So a typical update process might look like:+ . > $> # update the version infos of all libraries > $> cabal update > @@ -28,9 +35,9 @@ > $> # update the upper bound of all dependencies in 'myproject.cabal' by the cabal build information > $> cabal-bounds update --upper --ignore=base myproject.cabal dist/dist-sandbox-*/setup-config .- /Examples/+ /Example: Bound Changes/ .- The `=>` shows what the result is of the operation for every dependency. Left is the dependency before+ The '=>' shows what the result is of the operation for every dependency. Left is the dependency before calling the command, right the one after calling. . > $> cabal drop myproject.cabal@@ -39,7 +46,7 @@ > $> cabal drop --upper myproject.cabal > lens >=4.0.1 && <4.1 => lens >=4.0.1 .- If the cabal build (the setup-config) uses `lens 4.1.2`, then the results of the `update` command would be:+ If the cabal build (the setup-config) uses 'lens 4.1.2', then the results of the 'update' command would be: . > $> cabal update myproject.cabal setup-config > lens >=4.0.1 && <4.1 => lens >=4.1.2 && <4.2@@ -57,7 +64,7 @@ . /Installation/ .- You have to ensure, that the `Cabal` library of `cabal-bounds` matches the one used by the `cabal` binary:+ You have to ensure, that the 'Cabal' library of 'cabal-bounds' matches the one used by the 'cabal' binary: . > $> cabal --version > cabal-install version 1.18.0.2@@ -65,7 +72,7 @@ > > $> cabal install --constraint="Cabal == 1.18.1" cabal-bounds .- If you update the `cabal` binary and the used `Cabal` library changes, then you have to rebuild `cabal-bounds`.+ If you update the 'cabal' binary and the used 'Cabal' library changes, then you have to rebuild 'cabal-bounds'. . /Command Line Usage/ .@@ -104,10 +111,10 @@ /Issues/ . Perhaps the currently most annoying thing is, that you have to live with the reformating of your- `cabal` file done by the pretty printer of the `Cabal` library.+ 'cabal' file done by the pretty printer of the 'Cabal' library. .- To reformat your `cabal` file without changing any bounds you can call `cabal-bounds` with the name of- a section that isn't present in the `cabal` file:+ To reformat your 'cabal' file without changing any bounds you can call 'cabal-bounds' with the name of+ a section that isn't present in the 'cabal' file: . > $> cabal-bounds drop --executable=blub myproject.cabal category: Utils