GitPackage

为了便于复用,需要把一些常用的功能做成Package,要管理这些Package的话单独建一个UPM的库有点没有必要,直接用Git来管理就好。
这里记录下使用Git发布、更新包的流程。

目录结构

与一般的Package没有什么不同,可以参照Unity官方的一些包来配置。
其实这里对于文件夹命名等没有什么明确的要求,一般来说分成以下几个部分。

Documentation~

文档的目录,一般存放一些md格式的说明。以~结尾的文件夹不会在编辑器中显示。

Samples~

存放示例的目录,一般来说这个目录下的每个文件夹就对应了Package Manager的Samples中的一个示例。
需要在Package.json文件中定义,这个下面再说。

Tests

顾名思义,存放测试的地方。

Runtime Editor

一般来说会有这两个文件夹,区分运行时代码与编辑器代码。
同时下面会有两个asmdef来定义两个程序集合。

package.json

包的定义文件。

{
  "name": "top.kuanmi.outline",
  "displayName": "Outline",
  "version": "0.1.1",
  "unity": "2022.1",
  "description": "Outline for URP",
  "dependencies": {
    "com.unity.render-pipelines.universal": "13.1.8"
  },
  "samples": [
    {
      "displayName": "Outline for URP",
      "description": "Simple Outline for URP",
      "path": "Samples~/Example"
    }
  ]
}

参数就不一一解释了。

README.md CHANGELOG.md LICENSE.md

一些文本文件了,不影响实际使用。

Git

然后是Git相关的一些
可以通过打Tag的形式来管理版本。
git tag 1.0.0
git push -u origin main –tags

安装时就通过指定Tag,或者分支的形式选定版本

https://github.com/MaZhengKe/URPOutline.git#1.0.0

但是目前还没有找到让Package manager扫描全部Tag的方式。

subtree

那平时开发与维护还需要一个仓库,这两个仓库有依赖关系。

所以再新开一个空项目,初始化Git。

初次提交之后,可以通过如下命令来引入依赖的Git仓库
git subtree add –prefix=Assets/Outline https://github.com/MaZhengKe/URPOutline main

这样就在子路径下引入了依赖。

然后就按照正常的流程去修改,提交。

当需要推送到子仓库或者发布版本时:
git subtree push –prefix=Assets/Outline https://github.com/MaZhengKe/URPOutline main

打Tag仍需要回到原Git环境下去打。


GitPackage
https://www.kuanmi.top/2023/07/30/GitPackage/
作者
KuanMi
发布于
2023年7月31日
许可协议