upmscripts 0.1.1
scripts useful with unity package manager
Keywords: upm

# upm 相关脚本

## 关于 UnityPackageTemplate 说明

请参考 [README.md](https://git.91act.com/noah/unitypackagetemplate/blob/master/Documents/README.md)

## 文件功能

| filename                  | usage                                                                                                                    | example                                |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |
| auto_dependencies         | 将 package.json 文件的 dependencies ，按照规则添加到 Packages 目录下的 manifest.json 中                                  | python auto_dependencies.py            |
| auto_publish              | npm 发布流程                                                                                                             | python auto_publish.py YourPackageName |
| new_package               | 新建 package 流程                                                                                                        | python new_package.py                  |
| package_inject_to_project | 分析项目的 manifest.json 文件中已有的 noah 包，将 noah 包以 upm 分支的形式反向注入到项目中，以便在项目中修改和测试包内容 |
| fast_prove                | 使用 git branch 代替 npm 的方式，为了快速验证。可以避免更改 package.json 等一系列相关检查和操作                          | python fast_prove.py                   |

## 错误代码

| errorcode | explan                                                               | resolve                                                                                            |
| --------- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| -1        | 执行 subprocess 外部命令出错                                         | 请按错误提示解决                                                                                   |
| -2        | 没有可用的 git 环境                                                  | 请安装 git 或在 env 中指定 GIT_PATH 到 git 安装目录                                                |
| -3        | 当前工作的 git branch 名称不叫 master                                | 请 switch 到 master 分支后重试                                                                     |
| -20       | git 检测到本地与远程未同步                                           | 请同步本地修改到远程，或者 stash 本地修改                                                          |
| -21       | CHANGELOG 检查未通过                                                 | 请按提示正确填写 CHANGELOG                                                                         |
| -22       | package.json 文件未找到                                              | 请确保 Assets/YourPackageName/package.json 文件存在                                                |
| -23       | 同步 upm 分支到 master 时出错，并且错误不是找不到 upm 分支引起的     | 请按错误提示解决，或删除 gitlab 上对应仓库的 upm 分支后重试                                        |
| -24       | npm publish 报错                                                     | 请按 npm 报错 log 信息寻找解决方案                                                                 |
| -25       | push_upm 过程出错，可能 upm 分支已经存在一些无法同步到 master 的修改 | 如果确定 upm 分支没有其他需要同步到 master 的修改，请删除本地和远程的 upm 分支后重试               |
| -50       | 在注入 package 到项目时，项目 Assets 目录下已存在同名的文件          | 请确保待注入的路径未被占用                                                                         |
| -51       | 在注入 package 到项目时，找不到指定的 manifest.json 文件             | 请确保 project 参数指向正确的 unity project 目录，或者当前 pythonscripts 位于 unity project 目录下 |

## TODOLIST

- [ ] 编写测试用例。