如果我们使用了新的发布模型,那么 CI 服务器也需要进行一些更新来匹配这个发布模型。
我提议删除 hmcl_update_link.csv,并使用 update.json 来控制更新服务器。
hmcl_update_link.csv
update.json
该文件内容遵循 update.json.schema 的规范,其内容类似这样:
update.json.schema
{ "${version_type}": { "version": "x.y.z" "jar": "https://repo1.maven.org/maven2/org/glavo/hmcl/hmcl-xxx/x.y.z/hmcl-xxx-x.y.z.jar", "jarsha1": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "universal": "https://hmcl.huangyuhui.net", "force": true } }
其中 ${version_type} 可能是以下内容:
${version_type}
stable
stable-preview
dev
dev-preview
带有 -preview 后缀的 ${version_type} 代表预发布版,仅推送给开启了接受预览更新的用户。接受预览更新的用户在请求更新 API 时会在请求链接中附加一个新的参数 preview=true,类似这样:
-preview
preview=true
https://hmcl.huangyuhui.net/api/update_link?channel=stable&version=3.6.18&preview=true
https://hmcl.huangyuhui.net/api/update_link 接收到请求时,应当根据 channel 参数和 preview 参数来判定 ${version_type} 的具体值,并返回 update.json 中该 ${version_type} 所对应的 json 对象。服务器不应当对该对象做过多处理,这样未来我们可以灵活地添加更多字段(比如我们在考虑加一个 preview 字段,这样 HMCL 可以根据该字段决定是否应该展示预览版的更新日志)。
https://hmcl.huangyuhui.net/api/update_link
channel
preview
此外,stable-preview 和 dev-preview 条目可以空缺,若是空缺则说明当前没有预发布版,服务器应当忽略用户请求时的 preview=true 参数,直接返回 stable 和 dev 的版本信息。
另外我希望分离 https://hmcl.huangyuhui.net/download/ 页面与本仓库和 CI 的关联,使主页完全静态化。
https://hmcl.huangyuhui.net/download/
现在该页面的稳定版下载部分已经出现了问题。标题版本号跟着最新稳定版在走(3.6.18),但实际文件依然停留在 3.6.12。
3.6.18
3.6.12
此外,未来我希望不再将 exe 和 sh 上传至 maven central,这些文件可以通过蓝奏云等方式分发。由于这些内容需要手动上传,将其与更新功能分离是更好的选择。
No dependencies set.
The note is not visible to the blocked user.
如果我们使用了新的发布模型,那么 CI 服务器也需要进行一些更新来匹配这个发布模型。
我提议删除
hmcl_update_link.csv,并使用update.json来控制更新服务器。该文件内容遵循
update.json.schema的规范,其内容类似这样:其中
${version_type}可能是以下内容:stablestable-previewdevdev-preview带有
-preview后缀的${version_type}代表预发布版,仅推送给开启了接受预览更新的用户。接受预览更新的用户在请求更新 API 时会在请求链接中附加一个新的参数preview=true,类似这样:https://hmcl.huangyuhui.net/api/update_link接收到请求时,应当根据channel参数和preview参数来判定${version_type}的具体值,并返回update.json中该${version_type}所对应的 json 对象。服务器不应当对该对象做过多处理,这样未来我们可以灵活地添加更多字段(比如我们在考虑加一个preview字段,这样 HMCL 可以根据该字段决定是否应该展示预览版的更新日志)。此外,
stable-preview和dev-preview条目可以空缺,若是空缺则说明当前没有预发布版,服务器应当忽略用户请求时的preview=true参数,直接返回stable和dev的版本信息。另外我希望分离
https://hmcl.huangyuhui.net/download/页面与本仓库和 CI 的关联,使主页完全静态化。现在该页面的稳定版下载部分已经出现了问题。标题版本号跟着最新稳定版在走(
3.6.18),但实际文件依然停留在3.6.12。此外,未来我希望不再将 exe 和 sh 上传至 maven central,这些文件可以通过蓝奏云等方式分发。由于这些内容需要手动上传,将其与更新功能分离是更好的选择。
更新 CI 服务器以匹配新的发布模型to 调整更新服务器以匹配新的发布模型