公司代码模块标准化方案:

1.源码gitlab管理
2.dependencies管理模块间相互依赖
3.工具git tag按版本发布
4.工具通过Unity PackageManage引入Unity使用

常用命令:

创建或更新upm分支

git subtree split --prefix=Assets/packageName --branch upm

打tag

git tag 1.1.3 upm

推送tag

git push gitlab upm --tags

引入Unity

  "dependencies": {
    "unity.eamon.packageName": "http://0.0.0.0/diyplugins/packageName.git#1.1.3"
  }

案例在已有工程中分离出特定模块并上传

首先配置好unity包的信息并保存提交到git,
目录规则
最好更改目录后在Runtime与Editor文件夹下右键创建AssemblyDefinition自定义程序集文件。
Editor 文件夹下的 AssemblyDefinition 中 Platform 只能选择 Editor,并且 Reference 必须添加上 Runtime 中的那个 AssemblyDefiniion,dependencies里添加依赖,AssemblyDefinition里也要相应添加。
最主要是修改Project manifests,文件名:package.json。官方文档链接
package.json example:
name要求小写

{
  "name": "com.unity.example",
  "version": "1.2.3",
  "displayName": "Package Example",
  "description": "This is an example package",
  "unity": "2019.1",
  "unityRelease": "0b5",
  "dependencies": {
    "com.unity.some-package": "1.0.0",
    "com.unity.other-package": "2.0.0"
 },
 "keywords": [
    "keyword1",
    "keyword2",
    "keyword3"
  ],
  "author": {
    "name": "Unity",
    "email": "unity@example.com",
    "url": "https://www.unity3d.com"
  }
}

然后就是命令行了:

cd existing_repo
git remote add asyncawait http://192.168.0.0/modifiedplugins/asyncawait.git
git subtree split --prefix=Assets/Tools/AsyncAwait --branch upmAsyncawait
git tag 0.2.0e upmAsyncawait
git push asyncawait upmAsyncawait --tags

然后就可以引入新工程使用了。

修正

0.2.0e的版本号不符合semver命名要求,所以报错,修改后package.json后重新提交:

cd existing_repo
git add .
git commit asyncawait0.2.1
git subtree split --prefix=Assets/Tools/AsyncAwait --branch upmAsyncawait
git tag -d 0.2.0e
git tag 0.2.1 upmAsyncawait
git push asyncawait upmAsyncawait --tags

然后在unity2019+的package manager里点"+"=>“add package from git URL”=>“http://192.168.0.0/modifiedplugins/asyncawait.git”=>“add”
就可以使用了
最后附上一个教程Git Tag 删除
Enjoy!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐