| Copyright | (c) 2021 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <berberman@yandex.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
NvFetcher.Types.ShakeExtras
Description
This module is about global information we use in rules.
Synopsis
- data ShakeExtras = ShakeExtras {}
- initShakeExtras :: Map PackageKey Package -> Int -> IO ShakeExtras
- getShakeExtras :: Action ShakeExtras
- lookupPackage :: PackageKey -> Action (Maybe Package)
- getAllPackageKeys :: Action [PackageKey]
- isPackageKeyTarget :: PackageKey -> Action Bool
- recordVersionChange :: PackageName -> Maybe Version -> Version -> Action ()
- getVersionChanges :: Action [VersionChange]
- withRetries :: Action a -> Action a
Types
data ShakeExtras Source #
Values we use during the build. It's stored in shakeExtra
Constructors
| ShakeExtras | |
Fields
| |
initShakeExtras :: Map PackageKey Package -> Int -> IO ShakeExtras Source #
Create an empty ShakeExtras from packages to build and times to retry for each rule
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