跳转至

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
const BUILD_ID_SETTING: String = "gf/build/id"

构建标识 ProjectSettings 键。

COMMIT_HASH_SETTING

  • API:public
const COMMIT_HASH_SETTING: String = "gf/build/commit_hash"

提交哈希 ProjectSettings 键。

BRANCH_SETTING

  • API:public
const BRANCH_SETTING: String = "gf/build/branch"

分支名 ProjectSettings 键。

TAG_SETTING

  • API:public
const TAG_SETTING: String = "gf/build/tag"

标签名 ProjectSettings 键。

COMMIT_COUNT_SETTING

  • API:public
const COMMIT_COUNT_SETTING: String = "gf/build/commit_count"

提交数量 ProjectSettings 键。

IS_DIRTY_SETTING

  • API:public
const IS_DIRTY_SETTING: String = "gf/build/is_dirty"

工作区 dirty 状态 ProjectSettings 键。

TIME_UTC_SETTING

  • API:public
const TIME_UTC_SETTING: String = "gf/build/time_utc"

构建 UTC 时间 ProjectSettings 键。

METADATA_SETTING

  • API:public
const METADATA_SETTING: String = "gf/build/metadata"

项目自定义构建元数据 ProjectSettings 键。

PROJECT_NAME_SETTING

  • API:public
const PROJECT_NAME_SETTING: String = "application/config/name"

项目名称 ProjectSettings 键。

PROJECT_VERSION_SETTING

  • API:public
const PROJECT_VERSION_SETTING: String = "application/config/version"

项目版本 ProjectSettings 键。

属性

project_name

  • API:public
var project_name: String = ""

项目名称。

project_version

  • API:public
var project_version: String = ""

项目版本。

framework_version

  • API:public
var framework_version: String = ""

GF Framework 版本。

build_id

  • API:public
var build_id: String = ""

构建流水线或发行流程写入的构建标识。

commit_hash

  • API:public
var commit_hash: String = ""

构建对应的提交哈希。

branch

  • API:public
var branch: String = ""

构建对应的分支名。

tag

  • API:public
var tag: String = ""

构建对应的标签名。

commit_count

  • API:public
var commit_count: int = 0

构建对应的提交数量或流水线序号。

is_dirty

  • API:public
var is_dirty: bool = false

构建来源工作区是否存在未提交改动。

build_time_utc

  • API:public
var build_time_utc: String = ""

构建时间,建议使用 UTC ISO 文本。

engine_version

  • API:public
var engine_version: String = ""

当前运行的 Godot 引擎版本文本。

platform_name

  • API:public
var platform_name: String = ""

当前运行平台名称。

is_debug_build

  • API:public
var is_debug_build: bool = false

当前运行扩展是否为 debug build。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义构建元数据。框架不解释该字段。

结构:

  • metadata: Dictionary,保存项目自定义构建元数据。

方法

to_dict

  • API:public
func to_dict() -> Dictionary:

转换为 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
func apply_dict(data: Dictionary) -> void:

应用字典数据。

参数:

名称 说明
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
static func collect() -> GFBuildInfo:

创建当前运行环境的构建信息。

返回:构建信息快照。

from_dict

  • API:public
static func from_dict(data: Dictionary) -> GFBuildInfo:

从 Dictionary 创建构建信息。

参数:

名称 说明
data 构建信息字典。

返回:新构建信息。

结构:

  • data: Dictionary,可包含 GFBuildInfo.to_dict() 输出的字段。

collect_git_metadata

  • API:public
static func collect_git_metadata(work_dir: String = "res://") -> Dictionary:

从当前 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
func duplicate_info() -> GFBuildInfo:

复制构建信息。

返回:深拷贝后的构建信息。