MCPcopy Create free account
hub / github.com/dagger/dagger / loadDependencyModules

Method loadDependencyModules

core/schema/modulesource.go:3251–3341  ·  view source on GitHub ↗
(
	ctx context.Context,
	src dagql.ObjectResult[*core.ModuleSource],
	defaultPathContextSrc dagql.ObjectResult[*core.ModuleSource],
)

Source from the content-addressed store, hash-verified

3249}
3250
3251func (s *moduleSourceSchema) loadDependencyModules(
3252 ctx context.Context,
3253 src dagql.ObjectResult[*core.ModuleSource],
3254 defaultPathContextSrc dagql.ObjectResult[*core.ModuleSource],
3255) (_ *core.SchemaBuilder, rerr error) {
3256 ctx, span := core.Tracer(ctx).Start(ctx, "load dep modules", telemetry.Internal())
3257 defer telemetry.EndWithCause(span, &rerr)
3258
3259 query, err := core.CurrentQuery(ctx)
3260 if err != nil {
3261 return nil, err
3262 }
3263 dag, err := query.Server.Server(ctx)
3264 if err != nil {
3265 return nil, fmt.Errorf("failed to get dag server: %w", err)
3266 }
3267
3268 var eg errgroup.Group
3269 depMods := make([]dagql.ObjectResult[*core.Module], len(src.Self().Dependencies))
3270 for i, depSrc := range src.Self().Dependencies {
3271 eg.Go(func() error {
3272 return dag.Select(ctx, depSrc, &depMods[i],
3273 dagql.Selector{Field: "asModule"},
3274 )
3275 })
3276 }
3277 tcMods := make([]dagql.ObjectResult[*core.Module], len(src.Self().Toolchains))
3278 for i, tcSrc := range src.Self().Toolchains {
3279 eg.Go(func() error {
3280 // Must match pendingRelatedModule (session_workspaces.go).
3281 var cfg *modules.ModuleConfigDependency
3282 if i < len(src.Self().ConfigToolchains) {
3283 cfg = src.Self().ConfigToolchains[i]
3284 }
3285 var (
3286 nameOverride string
3287 configDefaults map[string]any
3288 argCustomizations []*modules.ModuleConfigArgument
3289 )
3290 if cfg != nil {
3291 nameOverride = cfg.Name
3292 configDefaults = workspace.ExtractConfigDefaults(cfg.Customizations)
3293 argCustomizations = cfg.Customizations
3294 }
3295 var dpRef, dpPin string
3296 if defaultPathContextSrc.Self() != nil {
3297 dpRef = defaultPathContextSrc.Self().AsString()
3298 dpPin = defaultPathContextSrc.Self().Pin()
3299 }
3300 toolchainAsModuleArgs, err := BuildLegacyAsModuleArgs(
3301 nameOverride,
3302 false, // related modules never set LegacyDefaultPath (see pendingRelatedModule)
3303 dpRef,
3304 dpPin,
3305 configDefaults,
3306 false, // DefaultsFromDotEnv is not set for related modules
3307 argCustomizations,
3308 )

Callers 4

runCodegenMethod · 0.95
runClientGeneratorMethod · 0.95
moduleSourceAsModuleMethod · 0.95

Calls 15

AppendMethod · 0.95
TracerFunction · 0.92
CurrentQueryFunction · 0.92
ExtractConfigDefaultsFunction · 0.92
ViewTypeAlias · 0.92
BaseVersionFunction · 0.92
NormalizeVersionFunction · 0.92
NewSchemaBuilderFunction · 0.92
NewUserModFunction · 0.92
BuildLegacyAsModuleArgsFunction · 0.85
InternalMethod · 0.80
SelfMethod · 0.80

Tested by

no test coverage detected