-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | What version is the package X in stackage lts-Y.ZZ? -- -- A command-line tool to look for version numbers for Haskell packages -- in specific stackage resolvers. See README.md @package staversion @version 0.1.1.0 -- | This is an internal module. End-users should not use it. module Staversion.Internal.Query type PackageName = Text -- | Resolver name at stackage like "lts-4.1". type Resolver = String -- | Source of packages. data PackageSource -- | stackage. SourceStackage :: Resolver -> PackageSource -- | Query for package version(s). data Query QueryName :: PackageName -> Query type ErrorMsg = String -- | Result for a query. data Result Result :: PackageSource -> Query -> Either ErrorMsg ResultVersions -> Result [resultIn] :: Result -> PackageSource [resultFor] :: Result -> Query [resultVersions] :: Result -> Either ErrorMsg ResultVersions -- | The obtained version map. data ResultVersions resultVersionsFromList :: [(PackageName, Maybe Version)] -> ResultVersions resultVersionsToList :: ResultVersions -> [(PackageName, Maybe Version)] -- | description of a PackageSource. sourceDesc :: PackageSource -> Text instance GHC.Classes.Eq Staversion.Internal.Query.Result instance GHC.Show.Show Staversion.Internal.Query.Result instance GHC.Classes.Eq Staversion.Internal.Query.ResultVersions instance GHC.Show.Show Staversion.Internal.Query.ResultVersions instance GHC.Classes.Ord Staversion.Internal.Query.Query instance GHC.Classes.Eq Staversion.Internal.Query.Query instance GHC.Show.Show Staversion.Internal.Query.Query instance GHC.Classes.Ord Staversion.Internal.Query.PackageSource instance GHC.Classes.Eq Staversion.Internal.Query.PackageSource instance GHC.Show.Show Staversion.Internal.Query.PackageSource module Staversion.Internal.Log data LogLevel LogDebug :: LogLevel LogInfo :: LogLevel LogWarn :: LogLevel LogError :: LogLevel data Logger defaultLogger :: Logger putLog :: Logger -> LogLevel -> String -> IO () logDebug :: Logger -> String -> IO () logInfo :: Logger -> String -> IO () logWarn :: Logger -> String -> IO () logError :: Logger -> String -> IO () -- | FOR TEST: the IORef is the history of logged messages. _mockLogger :: IO (Logger, IORef [(LogLevel, String)]) instance GHC.Enum.Bounded Staversion.Internal.Log.LogLevel instance GHC.Enum.Enum Staversion.Internal.Log.LogLevel instance GHC.Classes.Ord Staversion.Internal.Log.LogLevel instance GHC.Classes.Eq Staversion.Internal.Log.LogLevel instance GHC.Show.Show Staversion.Internal.Log.LogLevel instance GHC.Show.Show Staversion.Internal.Log.Logger -- | This is an internal module. End-users should not use it. module Staversion.Internal.Format -- | format Results like it's in build-depends in .cabal files. formatResultsCabal :: [Result] -> Text -- | This is an internal module. End-users should not use it. -- -- This module is meant to be exposed only to -- Staversion.Internal.BuildPlan and test modules. module Staversion.Internal.BuildPlan.Stackage -- | Non-ambiguous fully-resolved resolver for stackage. data ExactResolver -- | lts-(major).(minor) ExactLTS :: Word -> Word -> ExactResolver -- | nightly-(year)-(month)-(day) ExactNightly :: Word -> Word -> Word -> ExactResolver -- | Potentially partial resolver for stackage. data PartialResolver PartialExact :: ExactResolver -> PartialResolver -- | lts (latest) PartialLTSLatest :: PartialResolver -- | lts-(major) PartialLTSMajor :: Word -> PartialResolver -- | nightly (latest) PartialNightlyLatest :: PartialResolver parseResolverString :: Resolver -> Maybe PartialResolver formatResolverString :: PartialResolver -> Resolver type Disambiguator = PartialResolver -> Maybe ExactResolver -- | Fetch the Disambiguator from the Internet. fetchDisambiguator :: Manager -> IO (Either ErrorMsg Disambiguator) -- | Fetch build plan YAML data from the Internet. fetchBuildPlanYAML :: Manager -> ExactResolver -> IO ByteString parseDisambiguator :: ByteString -> Maybe Disambiguator instance GHC.Classes.Ord Staversion.Internal.BuildPlan.Stackage.PartialResolver instance GHC.Classes.Eq Staversion.Internal.BuildPlan.Stackage.PartialResolver instance GHC.Show.Show Staversion.Internal.BuildPlan.Stackage.PartialResolver instance GHC.Classes.Ord Staversion.Internal.BuildPlan.Stackage.ExactResolver instance GHC.Classes.Eq Staversion.Internal.BuildPlan.Stackage.ExactResolver instance GHC.Show.Show Staversion.Internal.BuildPlan.Stackage.ExactResolver instance Data.Aeson.Types.FromJSON.FromJSON Staversion.Internal.BuildPlan.Stackage.DisamMap -- | This is an internal module. End-users should not use it. module Staversion.Internal.BuildPlan -- | A data structure that keeps a map between package names and their -- versions. data BuildPlan packageVersion :: BuildPlan -> PackageName -> Maybe Version -- | Stateful manager for BuildPlans. data BuildPlanManager newBuildPlanManager :: FilePath -> Logger -> Bool -> IO BuildPlanManager loadBuildPlan :: BuildPlanManager -> PackageSource -> IO (Either ErrorMsg BuildPlan) -- | Load a BuildPlan from a file. loadBuildPlanYAML :: FilePath -> IO (Either ErrorMsg BuildPlan) -- | Parse a version text. There must not be any trailing characters after -- a valid version text. parseVersionText :: Text -> Maybe Version _setDisambiguator :: BuildPlanManager -> Maybe Disambiguator -> IO () instance Data.Aeson.Types.FromJSON.FromJSON Staversion.Internal.BuildPlan.BuildPlan -- | This is an internal module. End-users should not use it. module Staversion.Internal.Command -- | Command from the user. data Command Command :: FilePath -> Logger -> [PackageSource] -> [Query] -> Bool -> Command -- | path to the directory where build plan files are stored. [commBuildPlanDir] :: Command -> FilePath -- | the logger [commLogger] :: Command -> Logger -- | package sources to search [commSources] :: Command -> [PackageSource] -- | package queries [commQueries] :: Command -> [Query] -- | if True, it accesses the Internet to query build plans etc. [commAllowNetwork] :: Command -> Bool parseCommandArgs :: IO Command instance GHC.Classes.Ord Staversion.Internal.Command.DefCommand instance GHC.Classes.Eq Staversion.Internal.Command.DefCommand instance GHC.Show.Show Staversion.Internal.Command.DefCommand instance GHC.Show.Show Staversion.Internal.Command.Command -- | This is an internal module. End-users should not use it. module Staversion.Internal.Exec main :: IO () processCommand :: Command -> IO [Result]