Consolidate import request ownership
This commit is contained in:
@@ -86,7 +86,9 @@ func assembleLayeredInput[T any](request loadRequest[T], input assembledInput, a
|
||||
projectVersion := sequenceVersionPath(request.protectionVersion())
|
||||
for index, group := range request.underlays {
|
||||
evidenceStart := len(input.versionState.evidenceSince(0))
|
||||
acquired, diagnostics := acquireUnderlayGroupScopes(group, index+1, request.protectionVersion(), accounting, input.versionState, request.sequencePolicy)
|
||||
acquired, diagnostics := acquireUnderlayGroupScopes(group, index+1, request.protectionVersion(), accounting, input.versionState, acquisitionPolicy{
|
||||
importDefaults: request.importDefaults, sequencePolicy: request.sequencePolicy, importLimits: defaultImportLimits(),
|
||||
})
|
||||
mergeResourceContexts(&input.contexts, acquired.contexts)
|
||||
if len(diagnostics) != 0 {
|
||||
input.sources = append(input.sources, acquired.sources...)
|
||||
@@ -213,7 +215,7 @@ func assembleLayeredInput[T any](request loadRequest[T], input assembledInput, a
|
||||
return input, versionDiagnostics
|
||||
}
|
||||
|
||||
func acquireUnderlayGroupScopes(group loadGroup, index int, rule *VersionRule, accounting *importAccounting, versionState *sourceVersionState, policy sequencePolicy) (*acquiredUnderlayGroup, []Diagnostic) {
|
||||
func acquireUnderlayGroupScopes(group loadGroup, index int, rule *VersionRule, accounting *importAccounting, versionState *sourceVersionState, policy acquisitionPolicy) (*acquiredUnderlayGroup, []Diagnostic) {
|
||||
initialBytes, initialNodes := accounting.bytes, accounting.nodes
|
||||
visited := make(map[resourceIdentity]importRoute)
|
||||
hostToken := &namespaceToken{}
|
||||
@@ -231,14 +233,9 @@ func acquireUnderlayGroupScopes(group loadGroup, index int, rule *VersionRule, a
|
||||
options := Options[struct{}]{
|
||||
Imports: contribution.imports, Filesystem: contribution.filesystem,
|
||||
Definition: Definition[struct{}]{Version: rule}, destination: contribution.destination.clone(),
|
||||
placementMode: contribution.placementMode, sequencePolicy: policy, deferAssembly: true,
|
||||
placementMode: contribution.placementMode, sequencePolicy: policy.sequencePolicy, deferAssembly: true,
|
||||
directiveContext: rootDirectiveContextLayered,
|
||||
importDefaults: func() importDefaults {
|
||||
if versionState == nil {
|
||||
return importDefaults{}
|
||||
}
|
||||
return snapshotImportDefaults(versionState.importDefaults)
|
||||
}(),
|
||||
importDefaults: snapshotImportDefaults(policy.importDefaults),
|
||||
}
|
||||
acquired, diagnostics := assembleBaseInputTrackedForRole(contribution.source, options, contribution.destination, accounting, visited, hostToken, versionState, sourceVersionContribution)
|
||||
for _, source := range acquired.sources {
|
||||
|
||||
Reference in New Issue
Block a user