UBot Package Info
一个 uBot Package 的全部已知信息,由插件描述文件和 Package 索引合并而成。
| 字段 | 类型 | 蓝图 | 说明 |
|---|---|---|---|
NameName | String | 只读 | 插件名,例如 UBotSensor。 |
Friendly NameFriendlyName | String | 只读 | 显示名,例如 uBot Sensor。 |
DescriptionDescription | String | 只读 | 描述文件里的简介。 |
VersionVersion | String | 只读 | 语义化版本号。已安装的 Package 取描述文件的 VersionName;只在索引里的取最新的可安装版本,规划中的取最新的规划版本。 |
Available VersionsAvailableVersions | String数组 | 只读 | 索引里列出的可安装(非规划)版本,新的在前。 |
PlannedbPlanned | Boolean | 只读 | 索引里只有规划版本:已公布,但还不能安装。 |
Index VersionsIndexVersions | UBot Package Index Version结构体数组 | 只读 | 索引里列出的所有版本(含规划版本),新的在前,并带有每个可安装版本克隆时检出的 git 引用(ref)。不在任何索引里的 Package 为空。 |
Install FolderInstallFolder | String | 只读 | 索引条目里的 folder:Package 克隆到安装目录下的文件夹名。为空时取仓库地址的最后一段并去掉 .git。 |
LayerLayer | EUBot Package Layer枚举 | 只读 | 取自描述文件 UBot 块或索引条目的 layer,没有声明或无法识别时为 Unknown。 |
RepositoryRepository | String | 只读 | 安装 Package 用的 git 仓库地址。 |
Docs UrlDocsUrl | String | 只读 | 文档地址。 |
TagsTags | String数组 | 只读 | 标签。 |
ProvidesProvides | String数组 | 只读 | Package 提供的功能标识,例如 Sensor.IMU。 |
RequiresRequires | UBot Package Dependency结构体数组 | 只读 | 依赖的 Package 列表:名称、版本约束、是否可选。 |
External RequiresExternalRequires | String数组 | 只读 | Package 需要的引擎插件或其他非 uBot 插件(描述文件和索引里的 EnginePlugins,旧描述文件可能仍用 ExternalRequires)。不会被自动安装。 |
StateState | EUBot Package State枚举 | 只读 | 安装状态:NotInstalled、Disabled 或 Enabled。 |
InstalledbInstalled | Boolean | 只读 | 是否已安装。 |
EnabledbEnabled | Boolean | 只读 | 是否已启用。 |
From IndexbFromIndex | Boolean | 只读 | 是否列在某个 Package 索引里。 |
Base DirBaseDir | String | 只读 | 插件目录的绝对路径。未安装时为空。 |
Descriptor PathDescriptorPath | String | 只读 | .uplugin 文件的绝对路径。未安装时为空。 |
ProblemsProblems | String数组 | 只读 | 可读的问题描述,由依赖校验填写。 |
Problem DetailsProblemDetails | UBot Package Problem结构体数组 | 只读 | Problems 的结构化形式,顺序和数量相同。 |
Break UBot Package Info
Section titled “Break UBot Package Info”Break UBot Package InfoUBot Package InfoNameFriendly NameDescriptionVersionAvailable VersionsPlannedIndex VersionsInstall FolderLayerRepositoryDocs UrlTagsProvidesRequiresExternal RequiresStateInstalledEnabledFrom IndexBase DirDescriptor PathProblemsProblem Details
把 Package 信息拆成 Name、Friendly Name、Version、State、Enabled、Requires 等字段。
| 引脚 | 方向 | 类型 | 说明 |
|---|---|---|---|
| UBot Package Info | 输入 | UBot Package Info结构体 | |
| Name | 输出 | String | Plugin name, e.g. "UBotSensor". |
| Friendly Name | 输出 | String | |
| Description高级 | 输出 | String | |
| Version高级 | 输出 | String | Semantic version: the descriptor's VersionName for installed packages. For index entries the latest installable version, or the newest planned version when the package is planned. |
| Available Versions高级 | 输出 | String数组 | Installable (non-planned) versions listed in the package index, newest first. |
Planned高级bPlanned | 输出 | Boolean | True when the package index lists only planned versions: announced, but not installable yet. |
| Index Versions高级 | 输出 | UBot Package Index Version结构体数组 | Every version the package index lists (planned ones included), newest first, with the git ref each installable version is cloned at. Empty for packages that are not in an index. |
| Install Folder高级 | 输出 | String | "folder" of the index entry: the name of the folder below the install directory the package is cloned into. Empty means the last segment of Repository without ".git". Kept as written, so FUBotPackageService can refuse a value that is not one safe path segment. |
| Layer高级 | 输出 | EUBot Package Layer枚举 | |
| Repository高级 | 输出 | String | Git repository URL used to install the package. |
| Docs Url高级 | 输出 | String | |
| Tags高级 | 输出 | String数组 | |
| Provides高级 | 输出 | String数组 | Capability keys offered by the package, e.g. "Sensor.IMU". |
| Requires高级 | 输出 | UBot Package Dependency结构体数组 | |
| External Requires高级 | 输出 | String数组 | Engine or other non-uBot plugins the package needs ("EnginePlugins" in descriptors and the index; descriptors may still use the older key "ExternalRequires"). Never installed automatically. |
| State高级 | 输出 | EUBot Package State枚举 | |
Installed高级bInstalled | 输出 | Boolean | |
Enabled高级bEnabled | 输出 | Boolean | |
From Index高级bFromIndex | 输出 | Boolean | True when the package is listed in a package index. |
| Base Dir高级 | 输出 | String | Absolute plugin directory. Empty when not installed. |
| Descriptor Path高级 | 输出 | String | Absolute path of the .uplugin file. Empty when not installed. |
| Problems高级 | 输出 | String数组 | Human readable problems, filled by FUBotPackageRegistry::ValidatePackageSet. |
| Problem Details高级 | 输出 | UBot Package Problem结构体数组 | Structured form of Problems: same order and count. |
Make UBot Package Info
Section titled “Make UBot Package Info”Make UBot Package InfoUBot Package Info
用各个字段拼出一个 UBot Package Info。
| 引脚 | 方向 | 类型 |
|---|---|---|
| UBot Package Info | 输出 | UBot Package Info结构体 |