Skip to content

Commit 3e5e597

Browse files
committed
Split into avoiding and setting lists
1 parent 5f16570 commit 3e5e597

2 files changed

Lines changed: 18 additions & 7 deletions

File tree

doc/how-to-freeze-versions.rst

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,24 @@ on:
9696
Please add them. There is more information at https://pvp.haskell.org/
9797
9898
For large projects with many packages, it would be a lot of work to keep all
99-
package dependency version ranges up to date. Ways of overcoming, in worse to
100-
better order, are:
99+
package dependency version ranges up to date if each package was independently
100+
maintained, especially using tight version ranges for dependencies in the
101+
packages. Here are some options for avoiding or setting the same version ranges
102+
in each package of a project with many packages:
101103

102-
- use a bash script to replace or update version ranges in all package descriptions
103-
- use a package generator like `dhall-hpack-cabal <https://github.com/cabalism/hpack-dhall/blob/3d464cddea0aa0a7f268c45556e0daafa8ac06ff/hpack-dhall.cabal#L148>`_ to import sets of dependencies with version ranges
104-
- use a ``cabal.project`` file to specify version constraints for some or all dependencies
105-
- use a curated set of packages and versions and import these into the project
104+
**Avoiding**
105+
Package-level version ranges can be avoided;
106+
107+
- by using a curated set of packages and versions and import these into the project, or
108+
- by specifying version constraints only in the ``cabal.project``.
109+
110+
**Setting**
111+
Package-level version ranges can be specified in one place and then copied
112+
to packages;
113+
114+
- by using a package generator like `dhall-hpack-cabal <https://github.com/cabalism/hpack-dhall/blob/3d464cddea0aa0a7f268c45556e0daafa8ac06ff/hpack-dhall.cabal#L148>`_ with imports,
115+
- by using a package formatter with fragment pragmas, or
116+
- by using a bash script to replace or update version ranges in all package descriptions.
106117

107118
.. _version-constraints:
108119

doc/uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)