GFBuildInfo¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/debug/gf_build_info.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:值对象 (
value_object) - 首次版本:
3.17.0
运行时构建信息快照。 用统一 Resource 承载项目版本、GF 版本、构建号、提交号和运行平台信息, 便于诊断、日志、存档元数据或项目自己的版本界面复用。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | BUILD_ID_SETTING |
const BUILD_ID_SETTING: String = "gf/build/id" |
| 常量 | COMMIT_HASH_SETTING |
const COMMIT_HASH_SETTING: String = "gf/build/commit_hash" |
| 常量 | BRANCH_SETTING |
const BRANCH_SETTING: String = "gf/build/branch" |
| 常量 | TAG_SETTING |
const TAG_SETTING: String = "gf/build/tag" |
| 常量 | COMMIT_COUNT_SETTING |
const COMMIT_COUNT_SETTING: String = "gf/build/commit_count" |
| 常量 | IS_DIRTY_SETTING |
const IS_DIRTY_SETTING: String = "gf/build/is_dirty" |
| 常量 | TIME_UTC_SETTING |
const TIME_UTC_SETTING: String = "gf/build/time_utc" |
| 常量 | METADATA_SETTING |
const METADATA_SETTING: String = "gf/build/metadata" |
| 常量 | PROJECT_NAME_SETTING |
const PROJECT_NAME_SETTING: String = "application/config/name" |
| 常量 | PROJECT_VERSION_SETTING |
const PROJECT_VERSION_SETTING: String = "application/config/version" |
| 属性 | project_name |
var project_name: String = "" |
| 属性 | project_version |
var project_version: String = "" |
| 属性 | framework_version |
var framework_version: String = "" |
| 属性 | build_id |
var build_id: String = "" |
| 属性 | commit_hash |
var commit_hash: String = "" |
| 属性 | branch |
var branch: String = "" |
| 属性 | tag |
var tag: String = "" |
| 属性 | commit_count |
var commit_count: int = 0 |
| 属性 | is_dirty |
var is_dirty: bool = false |
| 属性 | build_time_utc |
var build_time_utc: String = "" |
| 属性 | engine_version |
var engine_version: String = "" |
| 属性 | platform_name |
var platform_name: String = "" |
| 属性 | is_debug_build |
var is_debug_build: bool = false |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | to_dict |
func to_dict() -> Dictionary: |
| 方法 | apply_dict |
func apply_dict(data: Dictionary) -> void: |
| 方法 | collect |
static func collect() -> GFBuildInfo: |
| 方法 | from_dict |
static func from_dict(data: Dictionary) -> GFBuildInfo: |
| 方法 | collect_git_metadata |
static func collect_git_metadata(work_dir: String = "res://") -> Dictionary: |
| 方法 | write_git_metadata_to_project_settings |
static func write_git_metadata_to_project_settings( work_dir: String = "res://", extra_metadata: Dictionary = {}, save_settings: bool = false ) -> Dictionary: |
| 方法 | duplicate_info |
func duplicate_info() -> GFBuildInfo: |
常量¶
BUILD_ID_SETTING¶
- API:
public
构建标识 ProjectSettings 键。
COMMIT_HASH_SETTING¶
- API:
public
提交哈希 ProjectSettings 键。
BRANCH_SETTING¶
- API:
public
分支名 ProjectSettings 键。
TAG_SETTING¶
- API:
public
标签名 ProjectSettings 键。
COMMIT_COUNT_SETTING¶
- API:
public
提交数量 ProjectSettings 键。
IS_DIRTY_SETTING¶
- API:
public
工作区 dirty 状态 ProjectSettings 键。
TIME_UTC_SETTING¶
- API:
public
构建 UTC 时间 ProjectSettings 键。
METADATA_SETTING¶
- API:
public
项目自定义构建元数据 ProjectSettings 键。
PROJECT_NAME_SETTING¶
- API:
public
项目名称 ProjectSettings 键。
PROJECT_VERSION_SETTING¶
- API:
public
项目版本 ProjectSettings 键。
属性¶
project_name¶
- API:
public
项目名称。
project_version¶
- API:
public
项目版本。
framework_version¶
- API:
public
GF Framework 版本。
build_id¶
- API:
public
构建流水线或发行流程写入的构建标识。
commit_hash¶
- API:
public
构建对应的提交哈希。
branch¶
- API:
public
构建对应的分支名。
tag¶
- API:
public
构建对应的标签名。
commit_count¶
- API:
public
构建对应的提交数量或流水线序号。
is_dirty¶
- API:
public
构建来源工作区是否存在未提交改动。
build_time_utc¶
- API:
public
构建时间,建议使用 UTC ISO 文本。
engine_version¶
- API:
public
当前运行的 Godot 引擎版本文本。
platform_name¶
- API:
public
当前运行平台名称。
is_debug_build¶
- API:
public
当前运行扩展是否为 debug build。
metadata¶
- API:
public
项目自定义构建元数据。框架不解释该字段。
结构:
metadata: Dictionary,保存项目自定义构建元数据。
方法¶
to_dict¶
- API:
public
转换为 Dictionary。
返回:构建信息字典。
结构:
return: Dictionary,包含 project_name、project_version、framework_version、build_id、commit_hash、branch、tag、commit_count、is_dirty、build_time_utc、engine_version、platform_name、is_debug_build 和 metadata 字段。
apply_dict¶
- API:
public
应用字典数据。
参数:
| 名称 | 说明 |
|---|---|
data |
构建信息字典。 |
结构:
data: Dictionary,可包含 project_name、project_version、framework_version、build_id、commit_hash、branch、tag、commit_count、is_dirty、build_time_utc、engine_version、platform_name、is_debug_build 和 metadata 字段。
collect¶
- API:
public
创建当前运行环境的构建信息。
返回:构建信息快照。
from_dict¶
- API:
public
从 Dictionary 创建构建信息。
参数:
| 名称 | 说明 |
|---|---|
data |
构建信息字典。 |
返回:新构建信息。
结构:
data: Dictionary,可包含 GFBuildInfo.to_dict() 输出的字段。
collect_git_metadata¶
- API:
public
从当前 Git 工作区收集构建元数据。该方法通常由导出脚本或编辑器工具调用。
参数:
| 名称 | 说明 |
|---|---|
work_dir |
Git 工作区目录;支持 res://、user:// 或原生路径。 |
返回:Git 构建元数据。
结构:
return: Dictionary,包含 commit_hash、branch、tag、commit_count、is_dirty 和 build_time_utc 字段。
write_git_metadata_to_project_settings¶
- API:
public
static func write_git_metadata_to_project_settings( work_dir: String = "res://", extra_metadata: Dictionary = {}, save_settings: bool = false ) -> Dictionary:
把 Git 构建元数据写入 ProjectSettings,供 collect() 在运行时读取。
参数:
| 名称 | 说明 |
|---|---|
work_dir |
Git 工作区目录;支持 res://、user:// 或原生路径。 |
extra_metadata |
项目自定义构建元数据。 |
save_settings |
是否立即保存 ProjectSettings。 |
返回:写入的构建元数据。
结构:
extra_metadata: Dictionary,保存项目自定义构建元数据。return: Dictionary,包含已写入的 Git 构建元数据。
duplicate_info¶
- API:
public
复制构建信息。
返回:深拷贝后的构建信息。