GFramework/GFramework.Godot.SourceGenerators.Abstractions
gewuyou ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00
..

GFramework.Godot.SourceGenerators.Abstractions

GFramework.Godot.SourceGenerators.Abstractions 存放 Godot 侧源码生成器公开使用的 attribute 和最小辅助类型。 它不是单独推广的消费包,而是 GFramework.Godot.SourceGenerators 的支撑层。

目录定位

这里当前主要提供:

  • 节点与信号相关特性
    • GetNodeAttribute
    • BindNodeSignalAttribute
  • 场景 / UI / 集合注册相关特性
    • AutoSceneAttribute
    • AutoUiPageAttribute
    • AutoRegisterExportedCollectionsAttribute
    • RegisterExportedCollectionAttribute
  • Godot 项目级辅助类型
    • AutoLoadAttribute
    • GodotModuleMarker
    • NodeLookupMode

这些类型负责定义“消费端项目可以声明哪些特性与参数”而具体的生成逻辑、diagnostics 和生命周期约束仍在 GFramework.Godot.SourceGenerators 中。

与相邻模块的关系

  • GFramework.Godot.SourceGenerators
    • 实际消费这里定义的 attribute并生成节点注入、信号绑定、Scene / UI 包装与项目元数据辅助代码。
  • GFramework.SourceGenerators.Common
    • 为 Godot 侧生成器提供共享基础设施和通用约束。
  • GFramework.Godot
    • 提供运行时宿主与集成层;生成器只负责编译期辅助。

当前目录本身 IsPackable=false。对 NuGet 使用者来说,更实际的入口仍然是 GeWuYou.GFramework.Godot.SourceGenerators;这个 abstractions DLL 会跟随对应 analyzer 包一起交付。

什么时候需要读这里

  • 你在确认 [GetNode][BindNodeSignal][AutoScene] 等特性的公开参数语义
  • 你在排查生成器文档是否和 attribute 契约一致
  • 你在扩展 Godot 侧生成器,想先看清契约层边界

如果你的目标只是把生成器接进项目,优先回到 Godot.SourceGenerators README 和专题页。

继续阅读