Skip to content

Commit f705a4a

Browse files
committed
Add content to the version ranges section
1 parent 7aa7a75 commit f705a4a

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

doc/how-to-freeze-versions.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,22 @@ Version ranges
2929
--------------
3030

3131
A dependency can have a version range specified in the package description.
32-
This is expected for published packages. The `cabal check` command will check
33-
that version ranges conform to a set of rules:
32+
Published packages are expected to attach version ranges to dependencies that
33+
conform to a set of rules that ``cabal check`` command will check for and report
34+
on:
3435

3536
- that lower bounds are inclusive
3637
- that upper bounds are exclusive
3738
- that upper bounds don't have trailing zeros
3839
- that upper bounds are not missing
3940
- that upper bounds are not missing for ``base``
4041

41-
With large projects with many packages, it would be a lot of work to keep all
42+
For large projects with many packages, it would be a lot of work to keep all
4243
package dependency version ranges up to date. Ways of overcoming this are:
4344

45+
- use a bash script to replace or update version ranges in all package descriptions
4446
- use a package generator like ``hpack-dhall-cabal`` to import sets of dependencies with version ranges
45-
- use a ``cabal.project`` file to specify version constraints for all dependencies
47+
- use a ``cabal.project`` file to specify version constraints for some or all dependencies
4648
- use a curated set of packages and versions and import these into the project
4749

4850
Version constraints

0 commit comments

Comments
 (0)