nvfetcher-0.1.0.0: Generate nix sources expr for the latest version of packages
Copyright(c) 2021 berberman
LicenseMIT
Maintainerberberman <berberman@yandex.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

NvFetcher.ShakeExtras

Description

This module is about global information we use in rules.

Synopsis

Types

data ShakeExtras Source #

Values we use during the build. It's stored in shakeExtra

initShakeExtras :: HashMap PackageKey Package -> IO ShakeExtras Source #

Create an empty ShakeExtras from packages to build

getShakeExtras :: Action ShakeExtras Source #

Get our values from shake

Packages

lookupPackage :: PackageKey -> Action (Maybe Package) Source #

Find a package given its key

getAllPackageKeys :: Action [PackageKey] Source #

Get keys of all packages to build

isPackageKeyTarget :: PackageKey -> Action Bool Source #

Check if we need build this package

Version changes

recordVersionChange :: PackageName -> Maybe Version -> Version -> Action () Source #

Record version change of a package

getVersionChanges :: Action [VersionChange] Source #

Get version changes since the last run