Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New infrastructure: tracking changes in files and values #3102

Merged
merged 3 commits into from
Feb 7, 2016

Commits on Feb 7, 2016

  1. Add get{Source,Installed}PackagesMonitorFiles

    Re-export getInstalledPackagesMonitorFiles from Cabal lib and add
    getSourcePackagesMonitorFiles locally to D.C.IndexUtils.
    
    These are for tracking changes to these bits of the environment, so that
    it's possible for us to recompute things that depend on them.
    dcoutts committed Feb 7, 2016
    Configuration menu
    Copy the full SHA
    a15318c View commit details
    Browse the repository at this point in the history
  2. New infrastructure for tracking changes in files and values

    A FileMonitor is an abstraction for monitoring the status of files,
    as well as changes in an in-memory value. Files can be tracked by file
    modification time, or mod time plus content. We can also track files
    that are expected not to exist (to help implement search paths). We can
    also have file globs.
    
    The abstraction is useful for re-running actions when input files or
    values change. This pattern is captured by the Rebuild monad.
    
    This adds a dependency on the hashable package (used by
    unordered-containers). If this is a problem we can extract just the hash
    function we need.
    
    This is not used yet, so there's a temporary import just to make sure it
    gets compiled.
    dcoutts committed Feb 7, 2016
    Configuration menu
    Copy the full SHA
    f35e05d View commit details
    Browse the repository at this point in the history
  3. Add FileMonitor unit tests

    dcoutts committed Feb 7, 2016
    Configuration menu
    Copy the full SHA
    1e1d82b View commit details
    Browse the repository at this point in the history