@ia-ccun/idea-plugin-share 0.0.75 → 0.0.76-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ia-ccun/idea-plugin-share",
3
- "version": "0.0.75",
3
+ "version": "0.0.76-beta.1",
4
4
  "description": "IntelliJ IDEA 插件分发包:把 zip 放进 plugins/ 目录,npm publish 后内网 npm i 即可获取",
5
5
  "bin": {
6
6
  "idea-plugin": "bin/idea-plugin.js"
@@ -1,56 +1,50 @@
1
1
  #!/bin/sh
2
- # 零依赖方案: 用 split 切成 4 段, 麒麟端 cat 合并即可, 不需要 7z。
2
+ # 零依赖方案: 用 split 切成多段,麒麟端 cat 合并即可
3
3
  #
4
- # 打包(本机): sh split-parts.sh pack
5
- # 解包(麒麟): sh split-parts.sh unpack
6
- #
7
- # split 版切出来的文件是原始字节流, 合并后与源文件逐字节一致。
8
- # 纯 POSIX sh 实现(无 pipefail / 数组 / nullglob / ${var:start:len}),
9
- # dash / bash / zsh 都能跑。麒麟默认 /bin/sh 即 dash。
4
+ # 用法:
5
+ # sh split-parts.sh pack [SRC_NAME] [CHUNK_MB] [COUNT? 不直接用,这里按 CHUNK_MB 切]
6
+ # sh split-parts.sh unpack [SRC_NAME]
10
7
 
11
8
  set -eu
12
9
 
13
- # 默认值;可被 PART_SRC 覆盖(输出文件名跟随 src 的 basename)
14
- default_name="aicode-deck_0.1.4_amd64.deb"
10
+ default_name="aicode-deck_0.1.6_amd64.deb"
11
+
12
+ # 从参数读取
13
+ mode="${1:-}"
14
+ src="${2:-$default_name}"
15
+ chunk_mb="${3:-20}"
15
16
 
16
- if [ -n "${PART_SRC:-}" ]; then
17
- src="$PART_SRC"
18
- else
19
- src=""
17
+ # 找不到就按默认名在当前目录找
18
+ if [ ! -f "$src" ] && [ "$src" = "$default_name" ]; then
19
+ # 在几个常用位置兜底
20
20
  for d in . .. ../.. ../../..; do
21
21
  if [ -f "$d/$default_name" ]; then
22
22
  src="$d/$default_name"
23
23
  break
24
24
  fi
25
25
  done
26
- src="${src:-$default_name}"
27
26
  fi
28
27
 
29
- # prefix 跟随 src 的 basename,使 PART_SRC 指向任意路径都自洽
30
28
  prefix="${src}.part-"
31
- # 4 段: ~92MB / 4 ≈ 23MB, 取 23MB (23*1024*1024)
32
- chunk=$((23 * 1024 * 1024))
29
+ chunk=$((chunk_mb * 1024 * 1024))
33
30
 
34
- case "${1:-}" in
31
+ case "$mode" in
35
32
  pack)
36
33
  if [ ! -f "$src" ]; then
37
34
  echo "找不到 $src" >&2
38
35
  exit 1
39
36
  fi
40
- # POSIX sh: 无匹配时 glob 不展开,rm -f 收到字面 "prefix*",静默成功
41
37
  rm -f "${prefix}"*
42
- ls -l "$src"
38
+ ls -lh "$src"
43
39
  echo
44
- # 前 3 段按 chunk 切, 剩余自动进第四段
45
40
  split -b "$chunk" -d -a 2 "$src" "$prefix"
46
- ls -l "${prefix}"*
41
+ ls -lh "${prefix}"*
47
42
  echo
48
- echo "合并校验命令(麒麟端):"
43
+ echo "合并命令(麒麟端):"
49
44
  echo " cat ${prefix}* > $src"
50
45
  echo " sha256sum $src"
51
46
  ;;
52
47
  unpack)
53
- # set -- 触发 glob 展开;POSIX sh 无 nullglob,无匹配时 $# == 1 且 $1 是字面 pattern
54
48
  set -- "${prefix}"*
55
49
  if [ "$#" -eq 1 ] && [ ! -e "$1" ]; then
56
50
  echo "找不到 ${prefix}* 分段文件" >&2
@@ -63,10 +57,9 @@ unpack)
63
57
  else
64
58
  shasum -a 256 "$src"
65
59
  fi
66
- echo "期望: cccb5a3a996b3b6de9176f887824b2cf0c238f713e8efdf9cad0c1bc1b342144"
67
60
  ;;
68
61
  *)
69
- echo "用法: sh $0 pack|unpack" >&2
62
+ echo "用法: sh $0 pack [SRC_NAME] [CHUNK_MB] | unpack [SRC_NAME]" >&2
70
63
  exit 1
71
64
  ;;
72
65
  esac