Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type HomeSchema = Attrs '["herculesCI" ::? (Attrs '[] ->? HerculesCISchema)]
- type HerculesCISchema = Attrs '["onPush" ::? Dictionary OnPushSchema]
- type OnPushSchema = Attrs '["extraInputs" ::? ExtraInputsSchema, "outputs" ::. (InputsSchema ->? OutputsSchema), "enable" ::? Bool]
- type ExtraInputsSchema = Dictionary InputDeclSchema
- type InputDeclSchema = Attrs '["project" ::. StringWithoutContext, "ref" ::? StringWithoutContext]
- type InputsSchema = Dictionary InputSchema
- type InputSchema = Dictionary RawValue
- type OutputsSchema = Dictionary RawValue
- findNixFile :: FilePath -> IO (Either Text FilePath)
- loadNixFile :: Ptr EvalState -> FilePath -> GitSource -> IO (Either Text HomeExpr)
- data HomeExpr
- homeExprRawValue :: HomeExpr -> RawValue
- getHerculesCI :: MonadEval m => HomeExpr -> HerculesCIArgs -> m (Maybe (PSObject HerculesCISchema))
- loadDefaultHerculesCI :: MonadEval m => m (PSObject DefaultHerculesCIHelperSchema)
- getOnPushOutputValueByPath :: Ptr EvalState -> FilePath -> HerculesCIArgs -> (Map ByteString InputDeclaration -> IO (Value NixAttrs)) -> [ByteString] -> IO (Maybe RawValue)
- parseExtraInputs :: MonadEval m => PSObject ExtraInputsSchema -> m (Map ByteString InputDeclaration)
Schemas
type HomeSchema = Attrs '["herculesCI" ::? (Attrs '[] ->? HerculesCISchema)] Source #
type HerculesCISchema = Attrs '["onPush" ::? Dictionary OnPushSchema] Source #
type OnPushSchema = Attrs '["extraInputs" ::? ExtraInputsSchema, "outputs" ::. (InputsSchema ->? OutputsSchema), "enable" ::? Bool] Source #
type ExtraInputsSchema = Dictionary InputDeclSchema Source #
type InputDeclSchema = Attrs '["project" ::. StringWithoutContext, "ref" ::? StringWithoutContext] Source #
type InputsSchema = Dictionary InputSchema Source #
type InputSchema = Dictionary RawValue Source #
type OutputsSchema = Dictionary RawValue Source #
Loading
Expression containing the bulk of the project
homeExprRawValue :: HomeExpr -> RawValue Source #
getHerculesCI :: MonadEval m => HomeExpr -> HerculesCIArgs -> m (Maybe (PSObject HerculesCISchema)) Source #
loadDefaultHerculesCI :: MonadEval m => m (PSObject DefaultHerculesCIHelperSchema) Source #
onPush
getOnPushOutputValueByPath Source #
:: Ptr EvalState | |
-> FilePath | |
-> HerculesCIArgs | |
-> (Map ByteString InputDeclaration -> IO (Value NixAttrs)) | Resolve inputs to an attrset of fetched/fetchable stuff |
-> [ByteString] | |
-> IO (Maybe RawValue) |
Given a path, return the onPush output or legacy ci.nix value
@@
e.g. ["a" "b"] => ((import file).herculesCI args).onPush.a.outputs.b
or falling back to
["a" "b"] => (import file legacyArgs).a.b
@@
parseExtraInputs :: MonadEval m => PSObject ExtraInputsSchema -> m (Map ByteString InputDeclaration) Source #