NewDefaultDependencyResolver creates the built-in language-aware dependency resolver.
(ctx *dependencyGraphContext, contentReader vcs.ContentReader)
| 20 | |
| 21 | // NewDefaultDependencyResolver creates the built-in language-aware dependency resolver. |
| 22 | func NewDefaultDependencyResolver(ctx *dependencyGraphContext, contentReader vcs.ContentReader) DependencyResolver { |
| 23 | resolver := &defaultDependencyResolver{ |
| 24 | extensionResolvers: make(map[string]moduleapi.Resolver), |
| 25 | } |
| 26 | |
| 27 | for _, provider := range registry.Providers() { |
| 28 | providerResolver := provider.NewResolver(ctx, contentReader) |
| 29 | if providerResolver == nil { |
| 30 | continue |
| 31 | } |
| 32 | |
| 33 | resolver.resolvers = append(resolver.resolvers, providerResolver) |
| 34 | for _, ext := range provider.Extensions() { |
| 35 | resolver.extensionResolvers[ext] = providerResolver |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | return resolver |
| 40 | } |
| 41 | |
| 42 | func (b *defaultDependencyResolver) SupportsFileExtension(ext string) bool { |
| 43 | _, ok := b.extensionResolvers[ext] |