diff --git a/.github/README.md b/.github/README.md index 5f0b123..bffd952 100644 --- a/.github/README.md +++ b/.github/README.md @@ -1,22 +1,11 @@ -``` - ██╗ ██╗███╗ ██╗██╗████████╗██╗ ██╗ █████╗ ███████╗███████╗███████╗████████╗ - ██║ ██║████╗ ██║██║╚══██╔══╝╚██╗ ██╔╝ ██╔══██╗██╔════╝██╔════╝██╔════╝╚══██╔══╝ - ██║ ██║██╔██╗ ██║██║ ██║ ╚████╔╝ ███████║███████╗███████╗█████╗ ██║ - ██║ ██║██║╚██╗██║██║ ██║ ╚██╔╝ ██╔══██║╚════██║╚════██║██╔══╝ ██║ - ╚██████╔╝██║ ╚████║██║ ██║ ██║ ██║ ██║███████║███████║███████╗ ██║ - ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═╝ -``` +

https://github.com/AIO-GAME

+

Unity Asset CLI

English | 简体中文

- -

-

- -

### ⚙ 安装 @@ -51,15 +40,21 @@ Unity PackageManager -> openupm *中国版* ->> `Name: package.openupm.cn` -> > `URL: https://package.openupm.cn` -> > `Scope(s): com.aio.cli.asset` -> -> openupm *国际版* ->> `Name: package.openupm.com` -> > `URL: https://package.openupm.com` -> > `Scope(s): com.aio.cli.asset` +> open upm *中国版* + +```` +Name: package.openupm.cn +URL: https://package.openupm.cn +Scope(s): com.aio.cli.asset +```` + +> open upm *国际版* + + ```` +Name: package.openupm.com +URL: https://package.openupm.com +Scope(s): com.aio.cli.asset + ```` @@ -68,14 +63,17 @@ Command Line -> *openupm-cli* ->> `openupm add com.aio.cli.asset` +> *open upm-cli* + +```` +openupm add com.aio.cli.asset +```` ### ⭐ 关于 -- **这是 Unity 的资源加载接口(CLI)包。它提供了一组命令和工具来增强效率和开发体验。** +- **这是 Unity 的资源加载接口(CLI)包。它提供了一组命令,来增强效率和开发体验。** > [!IMPORTANT] > - ✅ **支持 Unity 2019.4 及以上版本** @@ -102,7 +100,7 @@ ### 🔗 第三方参考资料和工具 -**Please refer to the wiki for a list of references and tools used in this package.** +**Unity Asset CLI** 依赖于以下第三方工具和资料: | **Doc** | **Description** | |:--------------------------------------------------------:|:-------------------------------------------------------:| @@ -122,13 +120,6 @@
xinansky - - - - Starkappa -
- Starkappa -
diff --git a/.github/README_EN.md b/.github/README_EN.md index 015dc34..4cbef44 100644 --- a/.github/README_EN.md +++ b/.github/README_EN.md @@ -1,22 +1,13 @@ -

- https://github.com/AIO-GAME/Unity.Asset.CLI -

-

AIO Unity CLI Asset

-

简体中文 | English

+

https://github.com/AIO-GAME

+

Unity Asset CLI

- - - -

-

-

-## ⚙ Install +### ⚙ Install
@@ -48,21 +39,22 @@ Unity PackageManager -openupm 中国版 +> open upm *Chinese version* -~~~ +```` Name: package.openupm.cn URL: https://package.openupm.cn -Scope(s): com.aio.cli.asset -~~~ +Scope(s): com.aio.cli.asset +```` -openupm 国际版 +> +> open upm *International version* -~~~ +```` Name: package.openupm.com URL: https://package.openupm.com Scope(s): com.aio.cli.asset -~~~ +````
@@ -71,57 +63,71 @@ Scope(s): com.aio.cli.asset Command Line -openupm-cli +> *open upm-cli* -~~~ +```` openupm add com.aio.cli.asset -~~~ +```` -## ⭐ About +### ⭐ About + +- **Unity Asset CLI** is a Unity asset management system that provides a simple and efficient way to manage assets in Unity projects. -- **This is a Unity resource loading interface (CLI) package. It provides a set of commands and tools to enhance efficiency and development experience.** > [!IMPORTANT] -> - ✅ **Supports Unity 2019.4 and above** -> - ✅ **Supports resource synchronous loading/asynchronous loading/coroutine loading interfaces** -> - ✅ **Supports resource local mode/remote mode/compiler mode interfaces** -> - ✅ **Supports empty package/first package/whole package/custom subpackages** -> - ✅ **Supports Android/iOS/Windows/Mac/WebGL** -> - ✅ **Supports CI/CD pipeline resource packaging** -> - ✅ **Supports .NET 4.x** -> - ✅ **Supports il2cpp** -> - ✅ **Supports Unity incremental build** -> - ✅ **Supports [UniTask](https://github.com/Cysharp/UniTask)** -> - ✅ **Supports [YooAsset](https://github.com/tuyoogame/YooAsset)** -> - ❌ **Does not support [XAsset](https://github.com/xasset/xasset)** -> - ❌ **Does not support [Addressable](https://github.com/Unity-Technologies/Addressables-Sample)** -> - ❌ **Does not support custom proxy third-party plugins** - -## 📖 Documentation - -- [_**Documentation Directory**_](https://github.com/AIO-GAME/Unity.Asset.CLI/wiki) +> - ✅ **Support Unity 2019.4 and above** +> - ✅ **Support resource synchronous loading/asynchronous loading/coroutine loading interface** +> - ✅ **Support resource local mode/remote mode/compiler mode interface** +> - ✅ **Support empty package/first package/whole package/custom subpackage** +> - ✅ **Support Android/iOS/Windows/Mac/WebGL** +> - ✅ **Support CI/CD pipeline resource packaging** +> - ✅ **Support .NET 4.x** +> - ✅ **Support il2cpp** +> - ✅ **Support Unity incremental build** +> - ✅ **Support [UniTask](https://github.com/Cysharp/UniTask)** +> - ✅ **Support [YooAsset](https://github.com/tuyoogame/YooAsset)** +> - ❌ **Support [XAsset](https://github.com/xasset/xasset)** +> - ❌ **Support [Addressable](https://github.com/Unity-Technologies/Addressables-Sample)** +> - ❌ **Support custom proxy third-party plugins** + +### 📖 Documentation + +- [_**Documentation**_](https://github.com/AIO-GAME/Unity.Asset.CLI/wiki) - [_**API**_](./API_USAGE/AssetSystem.md) -- [_**Configuration Explanation**_](./API_USAGE/Config.md) +- [_**Configuration**_](./API_USAGE/Config.md) - [_**Tool Usage**_](./API_USAGE/ToolWindow.md) -## 🔗 Third-Party References and Tools +### 🔗 References **Please refer to the wiki for a list of references and tools used in this package.** -| **Doc** | **Description** | -| :----: | :-----: | -| **[Common](https://github.com/AIO-GAME/Common)**| _**C# Unity common utility library to help development teams quickly build frameworks.**_ | -| **[UniTask](https://github.com/Cysharp/UniTask#readme)** | _**Provides an efficient allocation-free async/await integration for Unity.**_ | -| **[YooAsset](https://www.yooasset.com)**| _**YooAsset is a resource management system for Unity3D designed to help development teams deploy and deliver games quickly.**_ | -## ✨ Contributors +| **Doc** | **Description** | +|:--------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------:| +| **[Common](https://github.com/AIO-GAME/Common)** | _**C# Unity common basic function library, used to help development team quickly build the framework.**_ | +| **[UniTask](https://github.com/Cysharp/UniTask#readme)** | _**Provides an efficient async/await integration for Unity.**_ | +| **[YooAsset](https://www.yooasset.com)** | _**YooAsset is a resource management system for Unity3D, used to help development teams quickly deploy and deliver games.**_ | + +### ✨ Contributors + + + + + + +
+ + xinansky +
+ xinansky +
+
-## 📢 Acknowledgments +### 📢 Thanks - **Thank you for choosing our extension package.** - **If this package is helpful to you.** -- **Please consider showing support by adding a ⭐.** - +- **Please give us a star. ⭐** \ No newline at end of file diff --git a/.github/RES/Logo.svg b/.github/RES/Logo.svg index 9603e5c..5c0e941 100644 --- a/.github/RES/Logo.svg +++ b/.github/RES/Logo.svg @@ -1 +1,577 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.github/upversion.py b/.github/upversion.py index de7c0c8..57d7ecc 100644 --- a/.github/upversion.py +++ b/.github/upversion.py @@ -1,13 +1,14 @@ -import shutil -import time import json import os +import shutil import subprocess -from tqdm import tqdm +import time + import requests +from tqdm import tqdm -def get_latest_github_tag(repo_url) -> str: +def get_latest_github_tag(repo_url) -> str | None: # 从仓库 URL 提取用户和仓库名称 repo_path = repo_url.split("https://github.com/")[1].replace(".git", "") print(f"Fetching tags from {repo_path}") @@ -62,14 +63,12 @@ def delete_remote_tag() -> None: delete_local_tag(tag) -# 处理只读文件删除问题的回调函数 def remove_readonly(func, path, _) -> None: # os.chmod(path, stat.S_IWRITE) subprocess.run(['attrib', '-R', path], shell=True) func(path) -# 删除文件夹 def delete_folder(folder_path) -> None: try: if os.path.exists(folder_path): @@ -88,12 +87,27 @@ def read_current_branch() -> str: # 判断当前分支 return branch.replace("* ", "") -def read_current_version() -> str: - subprocess.run(['git', 'fetch', '--tags'], check=True) - tags = os.popen("git tag").read().split("\n") - # 所有标签去掉空字符串 -preview标签去掉preview 然后按照version排序 1.2.3-preview -> 1.3.0-preview - tags = sorted([tag.replace("-preview", "") for tag in tags if tag], key=lambda x: list(map(int, x.split(".")))) - return tags[-1] +def read_local_username() -> str: + result = subprocess.run(['git', 'config', 'user.name'], stdout=subprocess.PIPE) + return result.stdout.decode('utf-8').strip() + + +def read_local_email() -> str: + result = subprocess.run(['git', 'config', 'user.email'], stdout=subprocess.PIPE) + return result.stdout.decode('utf-8').strip() + + +def read_current_version() -> str | None: + try: + subprocess.run(['git', 'fetch', '--tags'], check=True) + tags = os.popen("git tag").read().split("\n") + if len(tags) == 0: # 需要判断是否有标签列表 + return None + # 所有标签去掉空字符串 -preview标签去掉preview 然后按照version排序 1.2.3-preview -> 1.3.0-preview + tags = sorted([tag.replace("-preview", "") for tag in tags if tag], key=lambda x: list(map(int, x.split(".")))) + return tags[-1] + except Exception: + return None # 切换上一级目录 @@ -101,8 +115,8 @@ def read_current_version() -> str: current_path = os.getcwd() print("当前路径: " + current_path) -username = "Star fire" -email = "xinansky99@gmail.com" +username = read_local_username() +email = read_local_email() print("用户名称: " + username) print("用户邮箱: " + email) @@ -136,14 +150,18 @@ def read_current_version() -> str: step_function() version = read_current_version() # 读取当前版本号 -print("当前版本号: " + version) -# 递增版本号 -version_list = version.split(".") -if is_preview: - version_list[2] = str(int(version_list[2]) + 1) + "-preview" +if version is None: + version = "1.0.0" + ("-preview" if is_preview else "") + new_version = "1.0.0" + ("-preview" if is_preview else "") else: - version_list[2] = str(int(version_list[2]) + 1) -new_version = ".".join(version_list) + # 递增版本号 + version_list = version.split(".") + if is_preview: + version_list[2] = str(int(version_list[2]) + 1) + "-preview" + else: + version_list[2] = str(int(version_list[2]) + 1) + new_version = ".".join(version_list) +print("版本号: {0} -> {1}".format(version, new_version)) # 写入新版本号 with open("package.json", "r+") as f: @@ -151,10 +169,10 @@ def read_current_version() -> str: current_version = package["version"] package["version"] = new_version package["relatedPackages"]["com.aio.package"] = get_latest_github_tag('https://github.com/AIO-GAME/Common.git') + package["relatedPackages"]["com.aio.runner"] = get_latest_github_tag('https://github.com/AIO-GAME/Unity.Runner.git') f.seek(0) json.dump(package, f, indent=2) print("写入配置: 版本号 {0} -> {1}".format(current_version, new_version)) - print("写入配置: 依赖库 {0} -> {1}".format("com.aio.package", package["relatedPackages"]["com.aio.package"])) f.close() # 上传到远程仓库 捕获异常 @@ -222,6 +240,14 @@ def read_current_version() -> str: else: print("删除成功") +# 写入新版本号 +with open("package.json", "r+") as f: + package = json.load(f) + package["type"] = "module" + f.seek(0) + json.dump(package, f, indent=2) + f.close() + steps = [ ("删除标签", lambda: delete_remote_tag()), ("设置用户名", @@ -247,4 +273,5 @@ def read_current_version() -> str: ] for step_description, step_function in tqdm(steps, desc="上传标签"): step_function() + print("升级标签版本成功") \ No newline at end of file diff --git a/Editor/AIO.Asset.Editor.asmdef b/Editor/AIO.Asset.Editor.asmdef index f19a604..f88ad00 100644 --- a/Editor/AIO.Asset.Editor.asmdef +++ b/Editor/AIO.Asset.Editor.asmdef @@ -1,32 +1,32 @@ { - "name": "AIO.Asset.Editor", - "rootNamespace": "", - "references": [ - "AIO.Asset.Runtime", - "AIO.Core.Runtime", - "AIO.Core.Editor", - "YooAsset.Editor" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [ - { - "name": "com.tuyoogame.yooasset", - "expression": "", - "define": "SUPPORT_YOOASSET" - }, - { - "name": "com.cysharp.unitask", - "expression": "", - "define": "SUPPORT_UNITASK" - } - ], - "noEngineReferences": false + "name": "AIO.Asset.Editor", + "references": [ + "AIO.Asset.Runtime", + "AIO.Core.Runtime", + "AIO.Core.Editor", + "YooAsset.Editor", + "AIO.Unity.Runner" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.tuyoogame.yooasset", + "expression": "", + "define": "SUPPORT_YOOASSET" + }, + { + "name": "com.cysharp.unitask", + "expression": "", + "define": "SUPPORT_UNITASK" + } + ], + "noEngineReferences": false } \ No newline at end of file diff --git a/Extensions/YooAsset.CLI/Runtime/AIO.CLI.YooAsset.Runtime.asmdef b/Extensions/YooAsset.CLI/Runtime/AIO.CLI.YooAsset.Runtime.asmdef index 43118b9..44b30a6 100644 --- a/Extensions/YooAsset.CLI/Runtime/AIO.CLI.YooAsset.Runtime.asmdef +++ b/Extensions/YooAsset.CLI/Runtime/AIO.CLI.YooAsset.Runtime.asmdef @@ -4,7 +4,8 @@ "YooAsset", "UniTask.YooAsset", "AIO.Core.Runtime", - "AIO.Asset.Runtime" + "AIO.Asset.Runtime", + "AIO.Unity.Runner" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Runtime/AIO.Asset.Runtime.asmdef b/Runtime/AIO.Asset.Runtime.asmdef index f06239c..b8b8004 100644 --- a/Runtime/AIO.Asset.Runtime.asmdef +++ b/Runtime/AIO.Asset.Runtime.asmdef @@ -1,36 +1,36 @@ { - "name": "AIO.Asset.Runtime", - "rootNamespace": "AIO", - "references": [ - "UniTask", - "UniTask.Addressables", - "UniTask.DOTween", - "UniTask.Linq", - "UniTask.YooAsset", - "UniTask.TextMeshPro", - "YooAsset", - "AIO.Core.Runtime", - "com.bbbirder.injection", - "com.bbbirder.directattribute" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [ - { - "name": "com.tuyoogame.yooasset", - "expression": "", - "define": "SUPPORT_YOOASSET" - }, - { - "name": "com.cysharp.unitask", - "expression": "", - "define": "SUPPORT_UNITASK" - } - ], - "noEngineReferences": false + "name": "AIO.Asset.Runtime", + "references": [ + "UniTask", + "UniTask.Addressables", + "UniTask.DOTween", + "UniTask.Linq", + "UniTask.YooAsset", + "UniTask.TextMeshPro", + "YooAsset", + "AIO.Core.Runtime", + "com.bbbirder.injection", + "com.bbbirder.directattribute", + "AIO.Unity.Runner" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.tuyoogame.yooasset", + "expression": "", + "define": "SUPPORT_YOOASSET" + }, + { + "name": "com.cysharp.unitask", + "expression": "", + "define": "SUPPORT_UNITASK" + } + ], + "noEngineReferences": false } \ No newline at end of file diff --git a/package.json b/package.json index 8bcd06f..defd197 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "com.aio.cli.asset", "displayName": "AIO Unity CLI Asset", "description": "unity3d resources management system.", - "version": "1.1.10-preview", + "version": "1.1.11-preview", "unity": "2019.4", "category": "Runtime", "unityRelease": "0f1", @@ -15,7 +15,8 @@ "url": "https://github.com/AIO-GAME/Unity.Asset.CLI.git" }, "relatedPackages": { - "com.aio.package": "1.0.45-preview" + "com.aio.package": "1.0.46-preview", + "com.aio.runner": "1.0.0-preview" }, "keywords": [ "Asset", @@ -25,8 +26,9 @@ ], "author": { "name": "AIO GAME", - "url": "https://github.com/AIO-GAME/Unity.Asset.CLI" + "url": "https://github.com/AIO-GAME" }, + "type": "library", "dependencies": { "com.unity.modules.assetbundle": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", @@ -34,6 +36,5 @@ "com.unity.modules.unitywebrequesttexture": "1.0.0", "com.unity.modules.unitywebrequestwww": "1.0.0", "com.unity.modules.unitywebrequestassetbundle": "1.0.0" - }, - "type": "library" + } } \ No newline at end of file