Added qualifier to 'PackageConstraint' data type.
commit79d562bfacf6f263c2120cac15f9f59855f7c2a3
authorRobert Henderson <rob at robjhen dot com>
Sat, 7 Jan 2017 14:46:35 +0000 (7 14:46 +0000)
committerRobert Henderson <rob at robjhen dot com>
Sat, 7 Jan 2017 14:46:35 +0000 (7 14:46 +0000)
tree5290348f42931fcdaf1fb4d888e9c734bd778fec
parent39c3cb6db19301a1815f1425acb03d9485194b39
Added qualifier to 'PackageConstraint' data type.

Refactored PackageConstraint in two ways:
 1) split it into a package name and a 'PackageProperty' to make
    the code a bit cleaner;
 2) changed PackageName to 'Qualified PackageName'.

Added a Binary instance for Qualifier in PackagePath.hs (needed
for PackageConstraint).

Added pretty-printing code for PackageConstraint.

For now, all the code that creates a PackageConstraint just sets
the qualifier to 'unqualified', so this commit will not change
the external behaviour of cabal-install.
12 files changed:
cabal-install/Distribution/Client/Configure.hs
cabal-install/Distribution/Client/Dependency.hs
cabal-install/Distribution/Client/Freeze.hs
cabal-install/Distribution/Client/Install.hs
cabal-install/Distribution/Client/List.hs
cabal-install/Distribution/Client/ProjectPlanning.hs
cabal-install/Distribution/Client/Targets.hs
cabal-install/Distribution/Solver/Modular.hs
cabal-install/Distribution/Solver/Modular/Preference.hs
cabal-install/Distribution/Solver/Types/PackageConstraint.hs
cabal-install/Distribution/Solver/Types/PackagePath.hs
cabal-install/tests/UnitTests/Distribution/Solver/Modular/DSL.hs