Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Archive investigation
Synopsis
- cabalIndex :: IO FilePath
- cabalEntries :: IO [Entry]
- data FileName = FileName {}
- filename :: ByteString -> FileName
- filenameP :: Parser e FileName
- cabals :: IO [(FileName, ByteString)]
- latestCabals :: IO (Map ByteString (Version, ByteString))
- latestCabalFields :: Config -> IO (Map ByteString (Version, CabalFields))
- libDeps :: CabalFields -> [Dep]
- validLibDeps :: Map ByteString CabalFields -> Map ByteString [ByteString]
- allDepGraph :: Map ByteString CabalFields -> Graph ByteString
- count_ :: Ord a => [a] -> Map a Int
- collect_ :: Ord k => [(k, v)] -> Map k [v]
- upstreams :: ByteString -> Graph ByteString -> Set ByteString
- downstreams :: ByteString -> Graph ByteString -> Set ByteString
- upstreamG :: ByteString -> Graph ByteString -> Graph ByteString
- dotUpstream :: Graph ByteString -> ByteString
- dotUpstreamSvg :: Graph ByteString -> FilePath -> IO ByteString
Documentation
cabalIndex :: IO FilePath Source #
the cabal index
cabalEntries :: IO [Entry] Source #
all the tar entries that represent packages of some kind.
The naming convention in 01-index.tar
Instances
Generic FileName Source # | |
Show FileName Source # | |
Eq FileName Source # | |
Ord FileName Source # | |
Defined in CabalFix.Archive | |
type Rep FileName Source # | |
Defined in CabalFix.Archive type Rep FileName = D1 ('MetaData "FileName" "CabalFix.Archive" "cabal-fix-0.0.0.1-Lbi9cRjrdFyLDBrkksBDMb" 'False) (C1 ('MetaCons "FileName" 'PrefixI 'True) (S1 ('MetaSel ('Just "nameFN") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: (S1 ('MetaSel ('Just "versionFN") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "filenameFN") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))) |
filename :: ByteString -> FileName Source #
Convert a ByteString to a FileName. Errors on failure.
cabals :: IO [(FileName, ByteString)] Source #
cabal files
Discards stale versions with later revisions
latestCabals :: IO (Map ByteString (Version, ByteString)) Source #
Assumes cabal entries are in chronological order and that the last version encountered is the latest valid one.
latestCabalFields :: Config -> IO (Map ByteString (Version, CabalFields)) Source #
Latest successfully parsing CabalFields
libDeps :: CabalFields -> [Dep] Source #
extract library build-deps from a Field list, also looking in common stanzas
validLibDeps :: Map ByteString CabalFields -> Map ByteString [ByteString] Source #
Map of valid dependencies
allDepGraph :: Map ByteString CabalFields -> Graph ByteString Source #
Graph of all valid dependencies
upstreams :: ByteString -> Graph ByteString -> Set ByteString Source #
Get the set of upstream projects
downstreams :: ByteString -> Graph ByteString -> Set ByteString Source #
Get the set of downstream projects.
upstreamG :: ByteString -> Graph ByteString -> Graph ByteString Source #
Get the upstream graph of a library. text, for example:
dotUpstream :: Graph ByteString -> ByteString Source #
Create a dot graph from an algebraic graph of dependencies
dotUpstreamSvg :: Graph ByteString -> FilePath -> IO ByteString Source #
make an svg file of a dependency graph