Copyright | (c) 2021 berberman |
---|---|
License | MIT |
Maintainer | berberman <berberman@yandex.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module is about global information we use in rules.
Synopsis
- data ShakeExtras = ShakeExtras {}
- initShakeExtras :: HashMap PackageKey Package -> 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]
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