lip migrate
把當前目錄下的包倉庫從 tooth.json 遷移到 manifest.json。
概要
shell
lip migrate說明
請在包倉庫的根目錄(即包含 tooth.json(格式版本 1、2 或 3)的目錄)中運行。它會:
- 在格式允許的範圍內把
tooth.json轉換為第 4 版manifest.json:- 只有一個不帶標籤的變體、且其資源全部為
self的tooth.json,轉換為文件包("type": "files")。 - 其他
tooth.json轉換為路由文檔,每個變體對應一個條目(無標籤變體與client變體分別成為服務端和客戶端條目)。你仍需為每個變體發佈具體包。
- 只有一個不帶標籤的變體、且其資源全部為
- 寫入
manifest.json。如果倉庫中已有manifest.json(例如你的 mod 的 LeviLamina 清單),轉換得到的鍵會合並進去:它還沒有的鍵(包括格式標記)會按該文件自身的縮進追加到末尾;它已有的鍵絕不會被覆蓋,若其值與轉換得到的值不同,lip 會對每個這樣的鍵給出警告。文件的其餘內容保持不變。 - 僅在
manifest.json寫入成功後刪除tooth.json。
如果當前目錄中沒有 tooth.json,或者 tooth.json 或已有的 manifest.json 無法讀取,lip migrate 會失敗,且不做任何修改。
所有無法用 manifest.json 表達或需要你決定的事項都會以警告形式輸出,並指明對應的 tooth.json 字段(以格式 3 的形式)。警告不會導致命令失敗。輸出只是一個起點,不保證正確:發佈前請檢查,並提交結果。詳情與侷限參見遷移包。