Separate input acquisition from composition
This commit is contained in:
@@ -16,6 +16,7 @@ type assembledInput struct {
|
||||
sources []SourceInfo
|
||||
contexts map[string]ResourceContext
|
||||
versionState *sourceVersionState
|
||||
accounting *importAccounting
|
||||
}
|
||||
|
||||
// acquiredContribution keeps a source-local payload beside its placed document.
|
||||
@@ -106,7 +107,7 @@ func assembleBaseInputTrackedForRole[T any](source Source, options Options[T], d
|
||||
parsed.source.Destination = destination.clone()
|
||||
parsed.source.placementMode = options.placementMode
|
||||
}
|
||||
input := assembledInput{parsed: parsed, document: parsed.document, sources: sourceInfos(parsed.source), versionState: versionState}
|
||||
input := assembledInput{parsed: parsed, document: parsed.document, sources: sourceInfos(parsed.source), versionState: versionState, accounting: accounting}
|
||||
if len(diagnostics) != 0 {
|
||||
input.sources = sourceInfos(parsed.source)
|
||||
// Mapping value issues already identify application content. Other early
|
||||
@@ -265,6 +266,9 @@ func compositionForInput(input assembledInput) (*composedDocument, []Diagnostic)
|
||||
|
||||
func compositionForInputWithPolicy(input assembledInput, policy sequencePolicy) (*composedDocument, []Diagnostic) {
|
||||
if input.composition != nil {
|
||||
if input.composition.root == nil && len(input.composition.acquisition) != 0 {
|
||||
return composeAcquiredInputWithPolicy(input, policy)
|
||||
}
|
||||
return input.composition, nil
|
||||
}
|
||||
if input.document == nil {
|
||||
|
||||
Reference in New Issue
Block a user