diff --git a/1000-fix-build-on-riscv64.patch b/1000-fix-build-on-riscv64.patch new file mode 100644 index 0000000000000000000000000000000000000000..87bc05ffde3f3f2525f188dac1b07fae5447ca1e --- /dev/null +++ b/1000-fix-build-on-riscv64.patch @@ -0,0 +1,113 @@ +From: Xin Liu + +Fix: Safely override Symbol.toStringTag in getRawTag using Object.defineProperty to prevent TypeError on riscv64 + +--- a/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js 2025-05-26 23:00:09.159827784 +0800 ++++ b/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js.fixed 2025-05-26 22:38:40.328887554 +0800 +@@ -7598,21 +7598,43 @@ + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { +- var isOwn = hasOwnProperty.call(value, symToStringTag), +- tag = value[symToStringTag]; ++ var isOwn = hasOwnProperty.call(value, symToStringTag); ++ var originalTagValue; ++ var originalOwnPropertyDescriptor; ++ ++ if (isOwn) { ++ originalTagValue = value[symToStringTag]; ++ originalOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(value, symToStringTag); ++ } ++ ++ var unmasked = false; + + try { +- value[symToStringTag] = undefined$1; +- var unmasked = true; ++ Object.defineProperty(value, symToStringTag, { ++ value: undefined$1, ++ writable: true, ++ configurable: true, ++ enumerable: false ++ }); ++ unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); +- if (unmasked) { +- if (isOwn) { +- value[symToStringTag] = tag; +- } else { +- delete value[symToStringTag]; +- } ++ if (unmasked) { ++ try { ++ if (isOwn && originalOwnPropertyDescriptor) { ++ Object.defineProperty(value, symToStringTag, originalOwnPropertyDescriptor); ++ } else if (isOwn) { ++ Object.defineProperty(value, symToStringTag, { ++ value: originalTagValue, ++ writable: (originalOwnPropertyDescriptor ? originalOwnPropertyDescriptor.writable : true), ++ configurable: true, ++ enumerable: (originalOwnPropertyDescriptor ? originalOwnPropertyDescriptor.enumerable : false) ++ }); ++ } else { ++ delete value[symToStringTag]; ++ } ++ } catch (e) {} + } + return result; + } +@@ -19203,21 +19225,43 @@ + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { +- var isOwn = hasOwnProperty.call(value, symToStringTag), +- tag = value[symToStringTag]; ++ var isOwn = hasOwnProperty.call(value, symToStringTag); ++ var originalTagValue; ++ var originalOwnPropertyDescriptor; ++ ++ if (isOwn) { ++ originalTagValue = value[symToStringTag]; ++ originalOwnPropertyDescriptor = Object.getOwnPropertyDescriptor(value, symToStringTag); ++ } ++ ++ var unmasked = false; + + try { +- value[symToStringTag] = undefined; +- var unmasked = true; ++ Object.defineProperty(value, symToStringTag, { ++ value: undefined, ++ writable: true, ++ configurable: true, ++ enumerable: false ++ }); ++ unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { +- if (isOwn) { +- value[symToStringTag] = tag; +- } else { +- delete value[symToStringTag]; +- } ++ try { ++ if (isOwn && originalOwnPropertyDescriptor) { ++ Object.defineProperty(value, symToStringTag, originalOwnPropertyDescriptor); ++ } else if (isOwn) { ++ Object.defineProperty(value, symToStringTag, { ++ value: originalTagValue, ++ writable: (originalOwnPropertyDescriptor ? originalOwnPropertyDescriptor.writable : true), ++ configurable: true, ++ enumerable: (originalOwnPropertyDescriptor ? originalOwnPropertyDescriptor.enumerable : false) ++ }); ++ } else { ++ delete value[symToStringTag]; ++ } ++ } catch (e) {} + } + return result; + } diff --git a/docs/zh/_toc.yaml b/docs/zh/_toc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..84652c2f7781f0379083990dd1dc16d0685e8419 --- /dev/null +++ b/docs/zh/_toc.yaml @@ -0,0 +1,10 @@ +label: oeDevPlugin用户指南 +isManual: true +description: oeDevPlugin 提供可视化界面管理 Gitee 仓库、issue、PR等 +sections: + - label: 用户指南 + href: ./index.md + - label: 安装卸载指导 + href: ./install/installation_and_uninstallation_guide.md + - label: 使用指导 + href: ./manual/usage.md diff --git a/docs/zh/index.md b/docs/zh/index.md new file mode 100644 index 0000000000000000000000000000000000000000..22542e0056bd9abc223b32f762ef1fdc553732d1 --- /dev/null +++ b/docs/zh/index.md @@ -0,0 +1,9 @@ +# oeDevPlugin 用户指南 + +## 简介 + +oeDevPlugin 提供给用户一个可视化界面来查看用户在 Gitee 的仓库、issue、pull requests、openeuler 和 src-openeuler 中仓库信息,处理用户 pull requests 和 issue。本文档主要介绍oeDevPlugin 的使用指导。 + +本文档适用于 Gitee 用户。用户需要具备以下经验或者能力: + +- 具备 Git 以及 Gitee 基础知识 diff --git a/docs/zh/install/installation_and_uninstallation_guide.md b/docs/zh/install/installation_and_uninstallation_guide.md new file mode 100644 index 0000000000000000000000000000000000000000..e84401d2c9264b2a5ab0d3d478ce0bfc70f9f126 --- /dev/null +++ b/docs/zh/install/installation_and_uninstallation_guide.md @@ -0,0 +1,25 @@ +# 安装卸载指导 + +## 环境要求 + +- 操作系统:openEuler 25.03 + +## 安装 + +```bash +sudo dnf clean all +``` + +```bash +sudo dnf makecache +``` + +```bash +sudo dnf install oeDevPlugin +``` + +## 卸载 + +```bash +sudo dnf remove oeDevPlugin +``` diff --git a/docs/zh/manual/pic/PR.png b/docs/zh/manual/pic/PR.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b4475974808b34ad6090cf1d4a98c11be600f9 Binary files /dev/null and b/docs/zh/manual/pic/PR.png differ diff --git a/docs/zh/manual/pic/createPR.png b/docs/zh/manual/pic/createPR.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb8b69aac35f9c52c570b20cc92294036044461 Binary files /dev/null and b/docs/zh/manual/pic/createPR.png differ diff --git a/docs/zh/manual/pic/issue.png b/docs/zh/manual/pic/issue.png new file mode 100644 index 0000000000000000000000000000000000000000..da4a4aa58981242f416e44a125892e462f2c3196 Binary files /dev/null and b/docs/zh/manual/pic/issue.png differ diff --git a/docs/zh/manual/pic/openeuler.png b/docs/zh/manual/pic/openeuler.png new file mode 100644 index 0000000000000000000000000000000000000000..dffbad5a3457c0fe81d1763d2e4d15cdcfedd43c Binary files /dev/null and b/docs/zh/manual/pic/openeuler.png differ diff --git a/docs/zh/manual/pic/repo.png b/docs/zh/manual/pic/repo.png new file mode 100644 index 0000000000000000000000000000000000000000..48ceba80d9e86802f5b2345bef88c27642fd589d Binary files /dev/null and b/docs/zh/manual/pic/repo.png differ diff --git a/docs/zh/manual/pic/src-openeuler.png b/docs/zh/manual/pic/src-openeuler.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca82b91b0e7bd027de2e15d3fe87c4b2c1638c2 Binary files /dev/null and b/docs/zh/manual/pic/src-openeuler.png differ diff --git a/docs/zh/manual/usage.md b/docs/zh/manual/usage.md new file mode 100644 index 0000000000000000000000000000000000000000..b07babe9f6030c8a41569cfcb7b0085df992313b --- /dev/null +++ b/docs/zh/manual/usage.md @@ -0,0 +1,79 @@ +# 使用指导 + +## 1.前期配置 + +oeDevPlugin 是一款预安装在Devstation中的Vscodium软件中Vscodium插件。在使用前需要在setting-->openEuler目录下做如下配置: + +- Openeuler_vscode_plugin:Target_folder 下载仓库的目标路径,默认为家目录的openeuler_repos文件夹; +- Openeuler_vscode_plugin:Personal_access_token gitee私人令牌,需要配置项目/PR组织权限; + +## 2.展示仓库信息 + +![image-20250329095542163](./pic/repo.png) + +此页面主要用于展示用户在gitee账户上的私人仓库。在此提供如下服务 + +- 克隆仓库(**需先选择分支**) +- 打开仓库链接 +- 打开文件夹 +- 在Vscodium中打开 +- 复制仓库地址 + +## 3.展示issue信息 + +![截图 2025-03-29 09-59-27](./pic/issue.png) + +此页面主要用于展示issue相关信息主要为用户提供处理issue相关服务。在此提供如下服务,主要分为两个条目 + +1、我负责的 + +2、我创建的 + +- 点击跳转到issue的对应repo +- 点击issue条目打开对应issue的web页面 + +## 4.展示PR信息 + +![截图 2025-03-29 10-05-38](./pic/PR.png) + +此页面主要用于展示pull request相关的信息,在查看详细信息前需在图中上半部分中的筛选框选择对应仓库。在此提供如下服务: + +- 修改PR标题(需要有对应仓库的操作权限) +- 合入PR (需要有对应仓库的操作权限) +- 关闭PR (需要有对应仓库的操作权限) +- 打开PR (需要有对应仓库的操作权限) +- 点击跳转到PR对应的repo + +## 5.创建PR + +![截图 2025-03-29 10-14-20](./pic/createPR.png) + +此页面主要用于生成对应PR(需要在目标仓库有对应提交)以下是每个条目的释义。 + +- 目标仓库:需要生成PR的个人仓库 +- 原分支:带有相关修改的提交的分支 +- 目标分支:需要将代码同步到的目标分支 +- title:PR的title,对应gitee web页面上对应的PR的title +- description:PR的描述,对应gitee web页面上对应PR的描述信息 + +## 6.openeuler社区仓库信息 + +![截图 2025-03-29 10-22-24](./pic/openeuler.png) + +![截图 2025-03-29 10-37-26](./pic/src-openeuler.png) + +此页面主要用于展示openeuler社区仓的信息。主要分为两个条目: + +1、openeuler + +2、src-openeuler + +并提供如下服务: + +- 克隆仓库(需先选择分支) +- 打开对应仓库的链接 +- 在文件夹中打开 +- 在VS-CODE中打开 +- 复制仓库地址 +- fork仓库,将仓库fork到个人私仓 +- 在openeuler社区仓页面的基础上src-openeuler仓额外提供本地构建服务,主要是将克隆下来的源代码在本地将其构建成rpm软件包。 diff --git a/oeDevPlugin-node_modules_extension-Linux-riscv64.tar.gz b/oeDevPlugin-node_modules_extension-Linux-riscv64.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc360009385063fdd48235e6da6ca4b9b187405c Binary files /dev/null and b/oeDevPlugin-node_modules_extension-Linux-riscv64.tar.gz differ diff --git a/oeDevPlugin-node_modules_webview-Linux-riscv64.tar.gz b/oeDevPlugin-node_modules_webview-Linux-riscv64.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f991774a96bbabdb579c218bc4441be91458b05e Binary files /dev/null and b/oeDevPlugin-node_modules_webview-Linux-riscv64.tar.gz differ diff --git a/oeDevPlugin.spec b/oeDevPlugin.spec index 13f71226495dbbcf8bc4b7cccdabfb5d524b3418..7821df553db02b972292aaf7cf7e409c20470f98 100644 --- a/oeDevPlugin.spec +++ b/oeDevPlugin.spec @@ -1,6 +1,6 @@ Name: oeDevPlugin Version: 1.0.2 -Release: 1 +Release: 4 Summary: oeDevPlugin is designed for all developers, based on the widely-used IDE VSCode. License: MulanPSL-2.0 @@ -10,6 +10,10 @@ Source1: %{name}-node_modules_extension-Linux-x86_64.tar.gz Source2: %{name}-node_modules_webview-Linux-x86_64.tar.gz Source3: %{name}-node_modules_extension-Linux-aarch64.tar.gz Source4: %{name}-node_modules_webview-Linux-aarch64.tar.gz +Source5: %{name}-node_modules_extension-Linux-riscv64.tar.gz +Source6: %{name}-node_modules_webview-Linux-riscv64.tar.gz + +Patch1000: 1000-fix-build-on-riscv64.patch BuildRequires: nodejs Requires: vscodium @@ -33,6 +37,12 @@ tar -xzf %{SOURCE3} -C . tar -xzf %{SOURCE4} -C webview-ui %endif +%ifarch riscv64 +tar -xzf %{SOURCE5} -C . +%patch 1000 -p1 +tar -xzf %{SOURCE6} -C webview-ui +%endif + if [ ! -f LICENSE ]; then echo "MulanPSL-2.0 license file is missing" >&2 exit 1 @@ -53,6 +63,15 @@ cp -r webview-ui/build %{buildroot}%{_datadir}/vscodium/resources/app/extensions %{_datadir}/vscodium/resources/app/extensions/%{name}-%{version} %changelog +* Tue Jun 10 2025 wu-donger - 1.0.2-4 +- Revise docs formatting guidelines + +* Fri Jun 06 2025 misaka00251 - 1.0.2-3 +- Add riscv64 build + +* Fri May 30 2025 Li Zixin 2271170409@qq.com - 1.0.2-2 +- update docs + * Fri May 16 2025 Liu Wang 1823363429@qq.com - 1.0.2-1 - update release to 1.0.2-1