We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CurseForge 标准的整合包元文件中,可以在 override 字段中指定需要覆写的整合包文件相对于压缩包的位置。但是 PCL 2(2.8.12)无法将 空字符串,"." 或 "./" 识别为整合包根目录(即无法将压缩包根目录下的所有文件安装到版本文件夹下)。 考虑目录的反序列化 API 的相关调用导致的这一问题?
我是一个整合包作者,在设计整合包项目管理器时,如果我可以将 override 设置为压缩包根目录的话,则我可以为客户端与服务端设计一个通用的打包程序。这个程序允许我只编辑一次需要覆盖的文件即可不需额外处理地把这些文件导出为双端的安装/部署包。
我的整合包有关这个 issue 的处理逻辑如下(源码):
这个打包的逻辑确实会将 manifest.json 在安装时输出到版本目录下,但是也仅仅只有这一个文件是多余的,而且这个文件几乎不可能会大到影响磁盘空间(我给出的仓库有大约200个模组,也不过44kB)。
此外,我在 HMCL、CurseForge App 等支持 CurseForge 格式整合包的启动器下做了测试,它们都能够正常识别到 "." 并将覆盖文件放置在版本文件内。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
检查项
描述
CurseForge 标准的整合包元文件中,可以在 override 字段中指定需要覆写的整合包文件相对于压缩包的位置。但是 PCL 2(2.8.12)无法将 空字符串,"." 或 "./" 识别为整合包根目录(即无法将压缩包根目录下的所有文件安装到版本文件夹下)。
考虑目录的反序列化 API 的相关调用导致的这一问题?
原因
我是一个整合包作者,在设计整合包项目管理器时,如果我可以将 override 设置为压缩包根目录的话,则我可以为客户端与服务端设计一个通用的打包程序。这个程序允许我只编辑一次需要覆盖的文件即可不需额外处理地把这些文件导出为双端的安装/部署包。
我的整合包有关这个 issue 的处理逻辑如下(源码):
客户端和服务端的打包是将 common 模块下的文件复制到临时文件夹后,再将 client(或 server)模块下的文件整合后打包放入输出文件夹。
如果这里使用 override 或者其他子文件夹来存储这些覆盖文件,则服务端打包的压缩包在部署后将无法识别它们。
首先,管理器会将 common 模块下的文件复制(覆盖)到 run 文件夹下,然后将 server 模块下的文件整合进 run 目录后启动运行脚本。这里与上文同理,使用子文件夹会导致一些问题。
这个打包的逻辑确实会将 manifest.json 在安装时输出到版本目录下,但是也仅仅只有这一个文件是多余的,而且这个文件几乎不可能会大到影响磁盘空间(我给出的仓库有大约200个模组,也不过44kB)。
此外,我在 HMCL、CurseForge App 等支持 CurseForge 格式整合包的启动器下做了测试,它们都能够正常识别到 "." 并将覆盖文件放置在版本文件内。
The text was updated successfully, but these errors were encountered: