Documentation
¶
Overview ¶
Package outputplan owns immutable semantic output declarations and plans.
Index ¶
- type ArtifactRole
- type Declaration
- type Input
- type Node
- type NodeSpec
- type Output
- func (o Output) Artifact() string
- func (o Output) Assembled() string
- func (o Output) ConfigHash() string
- func (o Output) Content() string
- func (o Output) Declarer() string
- func (o Output) DeclarerProjection() string
- func (o Output) Encoder() string
- func (o Output) Kind() string
- func (o Output) MarkerParts() []string
- func (o Output) PartVarRefs() []string
- func (o Output) Path() string
- func (o Output) Policy() Policy
- func (o Output) Provenance() int
- func (o Output) RegenChecked() bool
- func (o Output) StubDefaults() []string
- func (o Output) StubParts() []string
- func (o Output) TemplateHash() string
- func (o Output) TemplateID() string
- type OutputSpec
- type Plan
- type Policy
- type Recipe
- type TreeReader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArtifactRole ¶
type ArtifactRole string
ArtifactRole classifies an input to a planned output.
const ( ArtifactConfig ArtifactRole = "config" ArtifactLock ArtifactRole = "lock" ArtifactManifest ArtifactRole = "manifest" ArtifactTemplate ArtifactRole = "template" ArtifactConventionPart ArtifactRole = "convention-part" ArtifactAuthoredData ArtifactRole = "authored-data" ArtifactTopicMetadata ArtifactRole = "topic-metadata" ArtifactClaimPart ArtifactRole = "claim-part" ArtifactDecisionRecord ArtifactRole = "decision-record" ArtifactManagedOutput ArtifactRole = "managed-output" ArtifactProtocolDescriptor ArtifactRole = "protocol-descriptor" )
type Declaration ¶
type Declaration struct {
// contains filtered or unexported fields
}
Declaration records one deterministic output and its semantic inputs.
func NewDeclaration ¶
func NewDeclaration(path, templateID string, declarers []string, inputs []Input, dependencies []string) Declaration
func (Declaration) Declarers ¶
func (d Declaration) Declarers() []string
func (Declaration) Inputs ¶
func (d Declaration) Inputs() []Input
func (Declaration) Path ¶
func (d Declaration) Path() string
func (Declaration) TemplateID ¶
func (d Declaration) TemplateID() string
type Input ¶
type Input struct {
// contains filtered or unexported fields
}
Input is one semantic input consumed by an output.
func NewInput ¶
func NewInput(path string, role ArtifactRole) Input
func (Input) Role ¶
func (i Input) Role() ArtifactRole
type Node ¶
type Node struct {
// contains filtered or unexported fields
}
Node is one immutable path in a Plan.
type NodeSpec ¶
type NodeSpec struct {
Path string
Recipe Recipe
Policy Policy
Declarers []string
DeclarerProjections []string
DependsOn []string
ConsumedInputs []Input
ObservedTemplateID string
Output *Output
}
NodeSpec is Publisher's construction projection for one plan node.
type Output ¶
type Output struct {
// contains filtered or unexported fields
}
Output is one immutable rendered output carried by a plan.
func NewOutput ¶
func NewOutput(spec OutputSpec) Output
func (Output) ConfigHash ¶
func (Output) DeclarerProjection ¶
func (Output) MarkerParts ¶
func (Output) PartVarRefs ¶
func (Output) Provenance ¶
func (Output) RegenChecked ¶
func (Output) StubDefaults ¶
func (Output) TemplateHash ¶
func (Output) TemplateID ¶
type OutputSpec ¶
type OutputSpec struct {
Path, Content, TemplateID, TemplateHash, ConfigHash string
RegenChecked bool
Policy Policy
Declarer, DeclarerProjection, Encoder string
Provenance int
Assembled, Kind, Artifact string
StubDefaults, StubParts, MarkerParts, PartVarRefs []string
ConsumedInputs []Input
ObservedTemplateID string
}
OutputSpec is the construction projection for one rendered output. Publisher consumes it immediately; Output stores every slice defensively.
type Plan ¶
type Plan struct {
// contains filtered or unexported fields
}
Plan is the immutable desired-output authority for one operation.
func New ¶
func New(nodes []Node, declarations []Declaration) Plan
func (Plan) Declarations ¶
func (p Plan) Declarations() []Declaration
type Policy ¶
type Policy struct {
ValidateFrontmatter bool
ScanReferences bool
ScanSkillReferences bool
Regenerate bool
}
Policy is the complete lifecycle policy attached to an output.