Safe Haskell | None |
---|---|
Language | Haskell2010 |
Dealing with the 01-index file and all its cabal files.
- updateAllIndices :: HasCabalLoader env => RIO env ()
- getPackageCaches :: HasCabalLoader env => RIO env (PackageCache PackageIndex)
- getPackageVersions :: HasCabalLoader env => PackageName -> RIO env (Set Version)
- lookupPackageVersions :: PackageName -> PackageCache index -> Set Version
- data CabalLoader = CabalLoader {
- clCache :: !(IORef (Maybe (PackageCache PackageIndex)))
- clIndices :: ![PackageIndex]
- clStackRoot :: !(Path Abs Dir)
- clUpdateRef :: !(MVar Bool)
- clConnectionCount :: !Int
- clIgnoreRevisionMismatch :: !Bool
- class HasRunner env => HasCabalLoader env where
- configPackageIndex :: HasCabalLoader env => IndexName -> RIO env (Path Abs File)
- configPackageIndexRoot :: HasCabalLoader env => IndexName -> RIO env (Path Abs Dir)
Documentation
updateAllIndices :: HasCabalLoader env => RIO env () Source #
Update all of the package indices
getPackageCaches :: HasCabalLoader env => RIO env (PackageCache PackageIndex) Source #
Load the package caches, or create the caches if necessary.
This has two levels of caching: in memory, and the on-disk cache. So, feel free to call this function multiple times.
getPackageVersions :: HasCabalLoader env => PackageName -> RIO env (Set Version) Source #
Get the known versions for a given package from the package caches.
See getPackageCaches
for performance notes.
lookupPackageVersions :: PackageName -> PackageCache index -> Set Version Source #
data CabalLoader Source #
CabalLoader | |
|
class HasRunner env => HasCabalLoader env where Source #
cabalLoaderL :: Lens' env CabalLoader Source #
configPackageIndex :: HasCabalLoader env => IndexName -> RIO env (Path Abs File) Source #
Location of the 01-index.tar file
configPackageIndexRoot :: HasCabalLoader env => IndexName -> RIO env (Path Abs Dir) Source #
Root for a specific package index