Merge the two Globbing modules in cabal and cabal-install
commite2019f5a90213b8e8805f0e06fbe06227ebc5614
authorRodrigo Mesquita <rodrigo.m.mesquita@gmail.com>
Thu, 15 Feb 2024 15:04:38 +0000 (15 16:04 +0100)
committerMikolaj <281893+Mikolaj@users.noreply.github.com>
Sat, 17 Feb 2024 15:06:44 +0000 (17 15:06 +0000)
tree671c12b09be0930a9007866041d4917d761978af
parent3d3622fc3207932eb21950baac434996165191aa
Merge the two Globbing modules in cabal and cabal-install

We use the datatype representation from the globbing in cabal-install,
but preserve a standalone parser for globs present in cabal files, whose
specification is constrained by the cabal specification. The
implementations are merged taking the best parts of each.

We also make sure sdist is robust to accidentally-listed directories,
as the refactor of the globbing modules re-uncovered this issue, and
required a prompt fix for the refactor not to break some things.

Fixes #5349
29 files changed:
Cabal-tests/tests/UnitTests/Distribution/Simple/Glob.hs
Cabal/Cabal.cabal
Cabal/src/Distribution/PackageDescription/Check.hs
Cabal/src/Distribution/PackageDescription/Check/Paths.hs
Cabal/src/Distribution/Simple/Glob.hs
Cabal/src/Distribution/Simple/Glob/Internal.hs [new file with mode: 0644]
Cabal/src/Distribution/Simple/Haddock.hs
Cabal/src/Distribution/Simple/SrcDist.hs
cabal-install/src/Distribution/Client/FileMonitor.hs
cabal-install/src/Distribution/Client/Glob.hs
cabal-install/src/Distribution/Client/ProjectConfig.hs
cabal-install/src/Distribution/Client/RebuildMonad.hs
cabal-install/tests/UnitTests/Distribution/Client/ArbitraryInstances.hs
cabal-install/tests/UnitTests/Distribution/Client/DescribedInstances.hs
cabal-install/tests/UnitTests/Distribution/Client/FileMonitor.hs
cabal-install/tests/UnitTests/Distribution/Client/Glob.hs
cabal-testsuite/PackageTests/Check/ConfiguredPackage/Paths/AbsolutePath/cabal.out
cabal-testsuite/PackageTests/SDist/T5195/cabal.out [deleted file]
cabal-testsuite/PackageTests/SDist/T5195/cabal.test.hs [deleted file]
cabal-testsuite/PackageTests/SDist/T5195/t5195.cabal [deleted file]
cabal-testsuite/PackageTests/SDist/T5195and5349/Main.hs [moved from cabal-testsuite/PackageTests/SDist/T5195/Main.hs with 100% similarity]
cabal-testsuite/PackageTests/SDist/T5195and5349/actually-a-directory/some-file [moved from cabal-testsuite/PackageTests/SDist/T5195/actually-a-directory/some-file with 100% similarity]
cabal-testsuite/PackageTests/SDist/T5195and5349/actually-a-file [new file with mode: 0644]
cabal-testsuite/PackageTests/SDist/T5195and5349/cabal.out [new file with mode: 0644]
cabal-testsuite/PackageTests/SDist/T5195and5349/cabal.project [moved from cabal-testsuite/PackageTests/SDist/T5195/cabal.project with 100% similarity]
cabal-testsuite/PackageTests/SDist/T5195and5349/cabal.test.hs [new file with mode: 0644]
cabal-testsuite/PackageTests/SDist/T5195and5349/t5195and5349.cabal [new file with mode: 0644]
changelog.d/pr-9673 [new file with mode: 0644]
doc/cabal-project-description-file.rst