版本与 Git 信息

基本信息

属性 值
包 alexiil.mods.load.git
字段 CommitInfo、GitHubUser、Commit、Release
HTTP 工具 SiteRequester(字符串解析 GitHub API)

数据模型

GitHubUser

字段 含义
login 用户名
commits 贡献数
avatar_url 头像 URL(注释提示"可能用于新 GUI")
url GitHub 用户主页 URL

CommitInfo

  • message、url、comment_count
  • committer + author 都是 Commiter(name, email, date)
  • tree:Tree(sha, url)

Commit

  • commit: CommitInfo、sha: String、url: String、author: GitHubUser

Release

  • name: String、commit: Commit

SiteRequester(HTTP 抓取)

  • 字符串关键字解析 GitHub API JSON:"login":"、"avatar_url":"、"contributions":、"url":"。
  • accessToken:可选 GitHub token(私有字段)。
  • usersCache:本地 Map,避免重复解析。
  • getContributors(site):拉取贡献者后按 commits 倒序排序,写入 cache,返回 list。
  • getCommits(site) / getReleases(site):对应接口。

使用方式

  • BetterLoadingScreen.initSiteVersioning:被 getCommits / getCurrentCommit / getReleases 共用的 lazy initializer。当前实现是空方法 {},所以 commits/releases 始终为 null,CommitScrollingList 会显示空列表(这是已知未完成功能)。

已知

  • initSiteVersioning 当前实现 {},BaseConfig 右侧 commit 列表在没有外部配置触发时一直为空。
  • getCurrentCommit 也返回 null,因此 CommitScrollingList.populateStrings 中 thisOne 始终为 false,所有 commit 都是蓝色。

相关条目