dagger-codegen
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDagger Codegen
Dagger Codegen
When to Load This Skill
何时加载此技能
- Editing or
dagger.gen.gooutputinternal/dagger/dagger.gen.go - Modifying Go templates in
cmd/codegen/generator/go/templates/ - Changing SDK interfaces in
core/sdk.go - Working on ,
dagger develop, ordagger calldagger client install - Debugging why generated code looks wrong
- 编辑或
dagger.gen.go的输出文件internal/dagger/dagger.gen.go - 修改目录下的Go模板
cmd/codegen/generator/go/templates/ - 更改中的SDK接口
core/sdk.go - 开发、
dagger develop或dagger call功能dagger client install - 调试生成代码异常的原因
Critical Concepts
核心概念
"Codegen" means 4 different things in Dagger:
| # | Name | Trigger | Key Files |
|---|---|---|---|
| 1 | In-Module Bindings | | |
| 2 | Runtime Dispatch | Module startup | |
| 3 | SDK Libraries | | |
| 4 | Generated Clients | | |
Know which one you're dealing with before editing.
在Dagger中,"Codegen"指代4种不同的内容:
| 序号 | 名称 | 触发条件 | 关键文件 |
|---|---|---|---|
| 1 | 模块内绑定 | | |
| 2 | 运行时分发 | 模块启动 | |
| 3 | SDK库 | | |
| 4 | 生成客户端 | | |
在编辑前,请先明确你要处理的是哪一种Codegen。
Key Entry Points
关键入口点
| To change... | Edit |
|---|---|
| Generated method signatures | |
| Generated type definitions | |
Module | |
Standalone client | |
| Template functions | |
| SDK interfaces | |
| Built-in SDK list | |
| Python output | |
| 要修改的内容... | 编辑位置 |
|---|---|
| 生成的方法签名 | |
| 生成的类型定义 | |
模块 | |
独立客户端 | |
| 模板函数 | |
| SDK接口 | |
| 内置SDK列表 | |
| Python输出 | |
Reference Files
参考文件
Load based on specific need:
| Need | Load |
|---|---|
| Understanding the 4 codegen types | codegen-types.md |
| SDK architecture, interfaces, Go special case | sdk-architecture.md |
| Go template conditionals, two-pass generation | go-templates.md |
| generated-clients.md |
根据具体需求加载:
| 需求 | 加载文件 |
|---|---|
| 理解4种Codegen类型 | codegen-types.md |
| SDK架构、接口、Go特殊情况 | sdk-architecture.md |
| Go模板条件判断、两轮生成机制 | go-templates.md |
| generated-clients.md |