Declare producer correction capability
This commit is contained in:
@@ -13,10 +13,11 @@ import (
|
||||
// resolved pipeline. Its implementation values are private so execution cannot
|
||||
// replace or reconfigure them after preparation.
|
||||
type PreparedPipeline struct {
|
||||
Input ModuleBinding
|
||||
Chunk ModuleBinding
|
||||
Steps []PreparedPipelineStep
|
||||
Output ModuleBinding
|
||||
Input ModuleBinding
|
||||
Chunk ModuleBinding
|
||||
ChunkCorrectionProtocol contracts.CorrectionProtocol
|
||||
Steps []PreparedPipelineStep
|
||||
Output ModuleBinding
|
||||
|
||||
resolved ResolvedPipeline
|
||||
dependencies ModuleDependencies
|
||||
@@ -36,7 +37,10 @@ type PreparedPipelineStep struct {
|
||||
}
|
||||
|
||||
type PreparedArtifactLane struct {
|
||||
Resolved ResolvedArtifactLane
|
||||
Resolved ResolvedArtifactLane
|
||||
ExtractCorrectionProtocol contracts.CorrectionProtocol
|
||||
MergeCorrectionProtocol contracts.CorrectionProtocol
|
||||
NormalizeCorrectionProtocol contracts.CorrectionProtocol
|
||||
}
|
||||
|
||||
type preparedLaneExecutor struct {
|
||||
@@ -92,12 +96,13 @@ func Prepare(resolved ResolvedPipeline, registries Registries, deps ModuleDepend
|
||||
}
|
||||
stable := cloneResolvedPipeline(resolved)
|
||||
prepared := &PreparedPipeline{
|
||||
Input: cloneModuleBinding(stable.Input),
|
||||
Chunk: cloneModuleBinding(stable.Chunk),
|
||||
Output: cloneModuleBinding(stable.Output),
|
||||
resolved: stable,
|
||||
dependencies: deps,
|
||||
artifactCodecs: registries.ArtifactCodecs,
|
||||
Input: cloneModuleBinding(stable.Input),
|
||||
Chunk: cloneModuleBinding(stable.Chunk),
|
||||
ChunkCorrectionProtocol: stable.ChunkCorrectionProtocol,
|
||||
Output: cloneModuleBinding(stable.Output),
|
||||
resolved: stable,
|
||||
dependencies: deps,
|
||||
artifactCodecs: registries.ArtifactCodecs,
|
||||
}
|
||||
request := func(binding ModuleBinding, references contracts.ReferenceSet) BuildRequest {
|
||||
return BuildRequest{Dependencies: deps, Options: binding.Options, References: references}
|
||||
@@ -131,7 +136,12 @@ func Prepare(resolved ResolvedPipeline, registries Registries, deps ModuleDepend
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
preparedStep.ArtifactLanes = append(preparedStep.ArtifactLanes, PreparedArtifactLane{Resolved: cloneResolvedArtifactLane(lane)})
|
||||
preparedStep.ArtifactLanes = append(preparedStep.ArtifactLanes, PreparedArtifactLane{
|
||||
Resolved: cloneResolvedArtifactLane(lane),
|
||||
ExtractCorrectionProtocol: lane.ExtractCorrectionProtocol,
|
||||
MergeCorrectionProtocol: lane.MergeCorrectionProtocol,
|
||||
NormalizeCorrectionProtocol: lane.NormalizeCorrectionProtocol,
|
||||
})
|
||||
preparedStep.lanes = append(preparedStep.lanes, executor)
|
||||
}
|
||||
prepared.Steps[stepIndex] = preparedStep
|
||||
|
||||
Reference in New Issue
Block a user