31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# SDK 開發流程
|
||
|
||
## IDE 開啟方式
|
||
請開啟 SDK 項目,**不要**直接開啟主項目或是根目錄。
|
||
* **範例**:開發 `networks_sdk`,請開啟 `packages/networks_sdk`
|
||
|
||
## 操作流程
|
||
|
||
1. **開發**:在功能分支開發,開發完成後手動更新 `pubspec.yaml` 的版本號。
|
||
2. **審核**:提交 PR,通過測試與 Code Review,合併進入 `dev` 分支。
|
||
3. **發布**:
|
||
* 執行 `melos run publish:sdk -- <sdk-name> <version>`
|
||
* **範例**:`melos run publish:sdk -- networks_sdk v1.1.0`
|
||
4. **完成**:Tag 已推送到遠端,其他專案可以引用該 Tag。
|
||
|
||
## 特殊情況
|
||
在一些緊急情況,或是特別難單獨在sdk解決的問題,必須跟主項目一起操作才能重現時,
|
||
可以透過指令執行:
|
||
melos bootstrap:dev
|
||
|
||
執行後會產生一個 pubspec.overrides.yaml 的檔案,會自動鏈結所有項目強制讀取這個yaml
|
||
此時主項目中pubspec.yaml的sdk標籤引用會失效,會直接讀取sdk本地內容,可以幫助解決問題。
|
||
|
||
## 注意
|
||
如果使用特殊情況開發,開發完後,必須遵守:
|
||
1. 執行 melos bootstrap:clean 刪除pubspec.overrides.yaml 的檔案(不可提交到gitea)
|
||
2. 一樣必須走開發流程,不可主項目修改程式與sdk修改提交到同個commit。
|
||
|
||
|
||
|