| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Core.Ecosystem
Description
The ecosystem tag, the shared vocabulary the rest of the system dispatches on. The
package vocabulary keys a PackageName by it, the version engine selects a per-ecosystem
parser by it, the registry adapters dispatch on it, and configuration keys a mount by it.
It sits in its own module to break the import cycle between Ecluse.Core.Package (whose
PackageDetails holds a Version) and Ecluse.Core.Version (whose parsers dispatch on
the ecosystem).
Documentation
The package ecosystem an identity, version, or snapshot belongs to.
Instances
| WireVocab Ecosystem Source # | |||||
| Generic Ecosystem Source # | |||||
Defined in Ecluse.Core.Ecosystem Associated Types
| |||||
| Show Ecosystem Source # | |||||
| Eq Ecosystem Source # | |||||
| Ord Ecosystem Source # | |||||
| Universe Ecosystem Source # | |||||
Defined in Ecluse.Core.Ecosystem | |||||
| type Rep Ecosystem Source # | |||||
Defined in Ecluse.Core.Ecosystem type Rep Ecosystem = D1 ('MetaData "Ecosystem" "Ecluse.Core.Ecosystem" "ecluse-0.4.0-inplace-ecluse-core" 'False) (C1 ('MetaCons "Npm" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PyPI" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RubyGems" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
ecosystemName :: Ecosystem -> Text Source #
The canonical wire/config name of an ecosystem: the key an operator writes a
mounts object under, and the inverse of parseEcosystem.
>>>ecosystemName Npm"npm"
parseEcosystem :: Text -> Maybe Ecosystem Source #
Parse an Ecosystem from its wire name, Nothing for one the build does not
serve. The config decoder reads the document's mounts keys with it, and rejects an
unknown key loudly rather than skipping it (see Ecluse.Config).
>>>parseEcosystem "npm"Just Npm
>>>parseEcosystem "cargo"Nothing