35 Commits

Author SHA1 Message Date
GwWuYou
6da64eaf01 feat(godot): 扩展Node功能并优化项目配置
- 新增多个Node扩展方法,包括输入处理、节点查找、子节点遍历等功能
- 添加异步添加子节点支持
- 实现节点路径打印和树形结构输出功能
- 增加安全延迟调用机制
- 移除废弃的ControlExtensions.cs文件引用
- 修复命名空间声明问题
- 添加必要的using引用以支持新功能实现
v0.0.12
2025-12-11 19:13:30 +08:00
GwWuYou
d8fd3745c5 refactor(core): 修正命名空间路径错误
- 将命名空间从 `GFramework.Core.Godot.godot.extensions` 更正为 `GFramework.Core.Godot.extensions`
- 移除了重复的 `godot` 路径段,确保命名空间结构清晰一致
v0.0.11
2025-12-11 11:13:46 +08:00
GwWuYou
fc02bbaaa9 chore(project): 更新项目配置文件
- 添加 PackageId 属性以支持 NuGet 包发布
- 保持原有的 Product 和其他项目属性不变
- 确保项目文件结构清晰一致
v0.0.10
2025-12-11 10:28:00 +08:00
GwWuYou
7a34282205 build(publish): 禁用符号包生成以优化发布流程
- 在 GitHub Actions 工作流中禁用符号包生成
- 更新项目文件配置,移除符号包相关设置
- 简化打包命令参数,提高构建效率
v0.0.9
2025-12-11 10:19:34 +08:00
GwWuYou
fdc51e23b7 refactor(godot): 重构Godot相关扩展并迁移至新项目结构
- 将NodeExtensions和UnRegisterExtension迁移至GFramework.Core.Godot项目
- 更新命名空间以匹配新的项目结构
- 为扩展方法参数添加可空注解以提高安全性
- 移除旧的条件编译指令#if GODOT和#endif
- 创建新的GFramework.Core.Godot.csproj项目文件
- 在解决方案中注册新的GFramework.Core.Godot项目
- 更新主项目文件以排除新项目中的文件冲突
- 添加GodotSharpEditor包引用以支持Godot编辑器功能
- 链接新项目的扩展文件到原有路径以保持兼容性
2025-12-11 10:14:00 +08:00
GwWuYou
4a947a40b1 build: 移除构建中的符号包含选项
- 在 GitHub Actions 的 publish 工作流中移除了 `--include-symbols` 参数
- 在项目文件中显式设置 `<DebugType>` 为 portable
- 确保生成的包不包含符号文件,减少包体积
- 保留了便携式调试信息以支持基本调试需求
- 更新了构建配置以匹配新的发布流程
- 验证了测试和发布步骤仍然正常运行
v0.0.8
2025-12-10 12:09:03 +08:00
GwWuYou
496137661d build(publish): 更新发布配置以包含符号和包生成
- 在构建命令中添加 --include-symbols 参数
- 启用 GeneratePackageOnBuild 属性以自动生成 NuGet 包
- 确保发布流程包含调试符号和源代码嵌入
2025-12-10 12:06:23 +08:00
GwWuYou
240f1fd899 refactor(build): 移除打包 Source Generator 的自定义目标
- 删除了用于构建和打包 Source Generator 的 MSBuild 目标
- 简化了项目引用结构
- 移除了与 analyzers 文件夹相关的复制逻辑
- 清理了不必要的项目配置代码
- 优化了 NuGet 包生成流程
- 提高了构建脚本的可维护性
2025-12-10 11:59:43 +08:00
GwWuYou
2b51367042 build(workflow): 更新发布工作流中的构建命令
- 在构建命令中添加 portable 调试类型参数
- 调整构建参数顺序以优化工作流执行
- 保持 Release 配置不变
- 确保构建过程不进行还原操作
- 维持测试命令配置不变
v0.0.7
2025-12-10 11:05:59 +08:00
GwWuYou
cb04fd5b99 build(workflows): 更新打包命令以包含构建步骤
- 移除了 `--no-build` 参数,确保在打包前执行构建
- 保持了版本号传递逻辑不变
- 添加了显示包文件列表的调试命令
2025-12-10 10:57:35 +08:00
GwWuYou
3678e5c4a1 chore(build): 更新源代码生成器路径引用
- 调整了项目文件中源代码生成器的相对路径
- 修正了生成器DLL文件的引用位置
- 确保打包时能正确包含分析器组件
2025-12-10 10:54:13 +08:00
GwWuYou
6046eee7fa chore(build): 调整项目打包配置以支持Source Generator
- 移除不再需要的RepositoryType属性
- 添加IncludeBuildOutput属性以控制构建输出
- 更新项目引用方式,将Source Generator作为Analyzer引入
- 配置打包目标,将Source Generator复制到nupkg的analyzers目录
- 优化项目排除逻辑,确保生成器相关文件不参与主项目编译
- 完善项目文件结构,提高可读性和维护性
2025-12-10 10:41:17 +08:00
GwWuYou
92a171688e chore(build): 调整项目引用配置
- 移除了 Generator 项目的 PrivateAssets 属性设置
- 保持了对 Generator.Attributes 和 Core 项目的引用不变
- 简化了项目间的依赖引用方式
v0.0.6
2025-12-10 10:23:59 +08:00
GwWuYou
65a9afe04f feat(generator): 配置代码生成器项目以支持NuGet包发布
- 添加 IsRoslynAnalyzer 和 GeneratePackageOnBuild 属性
- 更新项目引用配置以支持分析器使用
- 添加 System.Collections.Immutable 包引用
- 配置生成文件输出路径和可见性
- 添加 README.md 文件并配置打包路径
- 设置包读取文档文件引用
v0.0.5
2025-12-10 09:42:09 +08:00
GwWuYou
8058860a80 feat(ci): 发布流程支持 NuGet 和 GitHub Release 双发布
- 合并发布工作流,支持同时推送到 NuGet 和创建 GitHub Release
- 添加对多个 .nupkg 包的批量推送支持
- 自动从 .nuspec 提取版本号用于 Release 描述
- 使用 OIDC 身份验证增强安全性
- 安装 unzip 工具以支持解析 nupkg 内部结构
- 移除独立的 release.yml 文件,统一到 publish.yml 中管理
v0.0.4
2025-12-10 09:13:58 +08:00
GwWuYou
e204f899ba refactor(core): 重构框架命名空间为GFramework.Core
- 将所有framework命名空间下的类迁移至GFramework.Core命名空间
- 更新所有相关using引用从framework到Core
- 重命名项目文件夹及文件路径以匹配新的命名空间结构
- 在解决方案中添加GFramework.Core项目引用
- 配置项目依赖关系并移除旧的Generator引用冲突
- 创建独立的GFramework.Core.csproj项目文件支持多目标框架
2025-12-10 08:51:17 +08:00
GwWuYou
50a71deaa7 feat(generator): 添加枚举扩展方法生成器及相关属性
- 新增 EnumExtensionsGenerator 源生成器
- 实现 GenerateEnumExtensionsAttribute 特性标注
- 为标记的枚举自动生成 IsXXX 和 IsIn 扩展方法
- 配置项目引用及 Analyzer 打包设置
- 更新解决方案文件包含新增项目
- 调整主项目配置排除生成器相关文件编译
2025-12-10 08:39:27 +08:00
GwWuYou
569713b41d feat(godot): 添加节点扩展方法类
- 新增 QueueFreeX 扩展方法,安全地延迟释放节点资源
- 新增 FreeX 扩展方法,立即释放节点资源
- 新增 WaitUntilReady 扩展方法,等待节点就绪信号
- 新增 IsValidNode 扩展方法,检查节点有效性
- 新增 IsInvalidNode 扩展方法,检查节点无效性
- 所有方法均包含空值检查和实例有效性验证
- 方法支持Godot编译条件指令控制
v0.0.3
2025-12-09 21:48:19 +08:00
GwWuYou
73de67d7b5 feat(nuget): 添加包README文件支持
- 在项目文件中添加PackageReadmeFile属性
- 配置README.md文件包含到NuGet包
- 支持多目标框架(net9.0;net8.0)的包发布
- 添加符号包生成配置
- 完善NuGet包元数据配置
- [no tag]
2025-12-09 19:06:27 +08:00
GwWuYou
2b5cda550e chore(csproj): 移除包读取文件配置
- 删除了 PackageReadmeFile 配置项
- 简化了项目文件配置
- 保持 TargetFrameworks 配置不变
- 维持符号包格式设置
- 保留根命名空间定义
v0.0.2
2025-12-09 19:05:00 +08:00
GwWuYou
babd41b932 build: 更新项目目标框架
- 移除了单个目标框架配置
- 添加了多目标框架支持(net9.0 和 net8.0)
- 保留了隐式引用和可空引用配置
- 维持了包标识符和命名空间设置
- 保持了符号包格式和 README 文件配置
2025-12-09 19:02:44 +08:00
GwWuYou
fcc295e8fe build(nuget): 添加包文档文件配置
- 在项目文件中添加 PackageReadmeFile 配置项
- 指定 README.md 作为 NuGet 包的文档文件
- 确保包发布时包含文档说明
- [no tag]
2025-12-09 18:52:21 +08:00
GwWuYou
6287336345 chore(sln): 修复解决方案文件中的项目路径
- 修正了 GFramework 项目的 csproj 文件路径
- 移除了路径中的多余空格
- 确保项目 GUID 保持不变
- 验证了解决方案配置平台设置
- 测试了解决方案的加载和构建功能
- 更新了相关的全局配置节区引用
v0.0.1
2025-12-09 18:43:57 +08:00
GwWuYou
da3941d6af refactor(framework): 重构框架命名空间和项目名称
- 将所有 GWFramework 命名空间重命名为 GFramework
- 更新解决方案文件中的项目名称和路径引用
- 修改项目文件中的 PackageId、Product 和 URL 配置
- 统一框架内各模块的命名空间前缀为 GFramework
- 调整根命名空间配置以匹配新的项目结构
2025-12-09 18:28:55 +08:00
GwWuYou
b7b67e6256 refactor(framework): 重构框架命名空间从GFramework到GWFramework
- 将所有文件中的命名空间GFramework替换为GWFramework
- 更新项目文件GFramework.csproj中的包ID和产品名称为GWFramework
- 修改解决方案文件GFramework.sln中项目的引用名称为GWFramework
- 替换LazyThreadSafetyMode的完整命名空间引用
- 统一调整各模块间相互引用的命名空间前缀
2025-12-09 18:17:22 +08:00
GwWuYou
45758aa0fa chore(release): 使用标签版本号打包并更新文档
- 在 release workflow 中增加 Determine tag version 步骤
- 修改 Pack 步骤以使用标签中的版本号
- 更新 README 文档说明项目命名原因及 NuGet 包潜在冲突问题
2025-12-09 18:07:04 +08:00
GwWuYou
da67b5651a chore(workflow): 移除 dotnet nuget push 中不支持的参数
- 删除了 `--verbosity detailed` 参数,因为 dotnet nuget push 不支持该选项
- 添加注释提醒不要使用 --verbosity 参数
- 保留了 --skip-duplicate 参数以避免重复推送包
2025-12-09 17:59:53 +08:00
GwWuYou
2d4ed82782 chore(ci): 简化NuGet发布工作流并优化版本提取逻辑
- 移除打包后的调试步骤和冗余的包信息检查
- 使用标签名直接确定版本号,支持去除前导'v'或'V'
- 更新打包命令以使用提取的版本号
- 简化NuGet推送步骤中的包查找逻辑
- 在推送命令中增加详细输出选项以便调试
- 调整工作流名称更准确地反映其功能
2025-12-09 17:57:28 +08:00
GwWuYou
5cf3bff4cf chore(ci): 添加 NuGet 包调试信息并优化发布流程
- 添加调试步骤以显示包信息和登录输出长度
- 检查 nuspec 文件中的 id 和 version 字段
- 验证 NuGet API 密钥的输出长度而不打印密钥内容
- 移除创建 GitHub Release 及上传 .nupkg 资产的相关步骤
- 简化发布流程,仅保留必要的 NuGet 推送操作
2025-12-09 17:39:37 +08:00
GwWuYou
d2e326be28 chore(ci): 优化发布流程并支持 OIDC 认证
- 将工作流名称更新为更准确描述其功能
- 添加 OIDC 权限以启用安全的 NuGet 登录
- 实现从 nupkg 文件中自动提取版本号
- 使用 NuGet/login 获取临时 API 密钥替代静态密钥
- 新增创建 GitHub Release 并上传 nupkg 包的功能
- 改进错误处理与输出提示信息
- 调整 job 名称为 build-and-publish 以反映实际操作
2025-12-09 17:30:17 +08:00
GwWuYou
39b0182c55 chore(project): 更新项目作者信息
- 将作者名称从 GeWuYou 更改为 gewuyou
- 保持其他项目元数据不变
2025-12-09 17:20:34 +08:00
GwWuYou
8573fceff7 fix(release): 修复 GitHub Release 中的包文件名获取逻辑
- 更新工作流步骤名称以反映版本和路径获取
- 从 .nupkg 文件中正确解析 NuGet 包的基本文件名
- 在 GitHub 输出中添加 package_basename 变量
- 使用 package_basename 作为上传资产的准确文件名
- 确保 release 资产使用正确的文件名而非完整路径
2025-12-09 17:14:30 +08:00
GwWuYou
fda0574789 chore: 添加 MIT 许可证文件
- 新增 LICENSE 文件并填入完整 MIT 许可证文本
- 设置版权归属为 GeWuYou
- 明确软件使用、复制、修改、分发等权利与免责条款
2025-12-09 17:09:43 +08:00
GwWuYou
404cb769e4 feat(ci): 添加自动版本递增和标签创建功能
- 新增 GitHub Actions 工作流文件 auto-tag.yml
- 实现基于提交信息的关键字跳过机制 ([skip release] / [no tag])
- 自动解析最新语义化版本号并递增修订号
- 使用 PAT 推送新标签到远程仓库
- 输出版本变更相关信息供后续步骤使用
2025-12-09 16:59:09 +08:00
GwWuYou
5aa11ddc41 feat(architecture): 添加架构核心组件与命令模式实现
- 新增 Architecture 基类与 IArchitecture 接口,实现单例模式与组件注册管理
- 集成 IOC 容器支持系统、模型、工具的依赖注入与生命周期管理
- 实现命令模式基础类 AbstractCommand 与接口 ICommand,支持带返回值命令
- 提供事件系统集成,支持事件的发布与订阅机制
- 添加控制器接口 IController,整合命令发送、事件注册与模型获取能力
- 创建详细的 README 文档说明各组件使用方式与设计模式应用
- 支持命令、查询、事件的统一调度与解耦通信机制
2025-12-09 15:32:17 +08:00