• Duncan Coutts's avatar
    New module for new style project configuration files · 92f018c2
    Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
    This defines the new cabal.project files and introduces the notion of a
    project root (and the logic for finding it). Also has support for
    implicit projects when no cabal.project file is defined.
    Supports both reading and writing project files or fragments. The
    printing & parsing round trips correctly. QC tests to follow.
    This is a key part of the new nix-local-build branch approach, based
    around projects with clear configuration state held in a project file
    (or extra files).
    This has support for file and dirs as packages within a project,
    including by glob. It supports both globs that much match a target, and
    optional globs that are allowed to match nothing. It has partial support
    for local tarball, remote http tarball and remote source repo packages.
    (cherry picked from commit 324b3240)