Consolidate selected overlay acquisition
This commit is contained in:
@@ -97,14 +97,29 @@ func applyInputLayers(source Source, filesystem *FilesystemContext, overlay stri
|
||||
return input, diagnostics
|
||||
}
|
||||
assembly := newAssemblyAccumulator(composition)
|
||||
input.sources, diagnostics = loadSelectedOverlayIntoWithVersion(
|
||||
source, filesystem, input.parsed, assembly, input.sources,
|
||||
overlay, protectionRule, defaultImportLimits(), input.versionState, policy,
|
||||
)
|
||||
resolved, diagnostic := resolveOrdinaryOverlayFilesystem(source, filesystem, input.parsed, input.resolvedFilesystem)
|
||||
if diagnostic != nil {
|
||||
return input, []Diagnostic{*diagnostic}
|
||||
}
|
||||
if source.kind != sourceNone || nativeContext(source, filesystem) {
|
||||
if diagnostic := validateResolvedFilesystemDirectories(resolved); diagnostic != nil {
|
||||
return input, []Diagnostic{*diagnostic}
|
||||
}
|
||||
}
|
||||
request := selectedOverlayRequest{
|
||||
name: overlay, filesystem: resolved, protectionRule: protectionRule,
|
||||
sequencePolicy: policy, limits: defaultImportLimits(), versionState: input.versionState,
|
||||
}
|
||||
access, diagnostic := openSelectedOverlayAccess(resolved)
|
||||
if diagnostic != nil {
|
||||
return input, []Diagnostic{*diagnostic}
|
||||
}
|
||||
input.sources, diagnostics = loadSelectedOverlay(request, access, assembly, input.sources)
|
||||
if len(diagnostics) != 0 {
|
||||
return input, diagnostics
|
||||
}
|
||||
contexts, diagnostic := contextsForAcquiredSources(source, filesystem, input.parsed.source, input.sources[len(input.sources)-1:])
|
||||
input.resolvedFilesystem = &resolved
|
||||
contexts, diagnostic := contextsForResolvedSources(&resolved, input.sources[len(input.sources)-1:])
|
||||
if diagnostic != nil {
|
||||
return input, []Diagnostic{*diagnostic}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user