dagger/dagger · error

get dependency template: %w

Error message

get dependency template: %w

What it means

Wrap from generateDependencyFiles when rendering an individual dependency's code files fails — typically template execution or goimports processing for that dependency's schema. Aborts generation of the remaining dependency files.

Source

Thrown at cmd/codegen/generator/go/generator.go:173

	depNames []string,
) error {
	// When generating a standalone client, dep files live inside the client
	// sub-module directory.  We need to resolve imports relative to that
	// directory so that goimports can find packages like
	// dagger.io/dagger/querybuilder that are declared in the client's go.mod
	// (not in the parent module's go.mod).
	importResolutionDir := cfg.OutputDir
	if cfg.ClientConfig != nil && cfg.ClientConfig.ClientDir != "" {
		importResolutionDir = filepath.Join(cfg.OutputDir, cfg.ClientConfig.ClientDir)
	}

	for _, depName := range depNames {
		depSchema := schema.Include(depName)

		funcs := templates.GoTemplateFuncs(ctx, depSchema, schema, schemaVersion, cfg, pkg, fset, pass)
		tmpl, err := templates.DepTemplate(funcs)
		if err != nil {
			return fmt.Errorf("get dependency template: %w", err)
		}

		dt, err := renderFile(importResolutionDir, depSchema, schemaVersion, pkgInfo, tmpl)
		if err != nil {
			return fmt.Errorf("render dependency file for %q: %w", depName, err)
		}
		if dt == nil {
			// no types for this dependency, skip
			continue
		}

		// Convert dep name to kebab-case for the filename, e.g. "myDep" -> "my-dep.gen.go"
		depFileName := strcase.ToKebab(depName) + ".gen.go"
		depFilePath := filepath.Join(internalDaggerDir, depFileName)

		// Special case for client generation, we want to write the file in the specified client directory.
		if cfg.ClientConfig != nil && cfg.ClientConfig.ClientDir != "" {
			depFilePath = filepath.Join(cfg.ClientConfig.ClientDir, depFileName)

View on GitHub (pinned to 82ba2681db)

Solutions

  1. Inspect the wrapped error for the failing dependency/template
  2. Validate the dependency's schema and generated import paths
  3. Ensure the go toolchain/goimports is available for import resolution
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at cmd/codegen/generator/go/generator.go:173 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of dagger/dagger@82ba2681db (2026-09-05). Data as JSON: /api/errors/ed207ad85cc3b9c9. Report an issue: GitHub.