刘光辉
5 小时以前 cf11e63b659afcc9792ab3e395f1b45d844431a8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env sh
set -eu
 
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
PLUGIN_DIR=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
DIST_DIR=${ONLYOFFICE_PLUGIN_DIST_DIR:-"$PLUGIN_DIR/dist"}
PACKAGE="$DIST_DIR/dms-qianpiye-annotator.plugin"
TEMP_PACKAGE="$DIST_DIR/.dms-qianpiye-annotator.$$.plugin"
 
cleanup() {
  rm -f "$TEMP_PACKAGE"
}
trap cleanup EXIT HUP INT TERM
 
command -v node >/dev/null 2>&1 || { printf '%s\n' 'node is required to package the plugin' >&2; exit 1; }
command -v zip >/dev/null 2>&1 || { printf '%s\n' 'zip is required to package the plugin' >&2; exit 1; }
command -v unzip >/dev/null 2>&1 || { printf '%s\n' 'unzip is required to verify the plugin' >&2; exit 1; }
 
test -f "$DIST_DIR/config.json"
test -f "$DIST_DIR/index.html"
test -f "$DIST_DIR/resources/icon.png"
test -f "$DIST_DIR/resources/icon@2x.png"
node -e 'const c = JSON.parse(require("node:fs").readFileSync(process.argv[1], "utf8")); if (c.version !== "0.1.0" || c.guid !== "asc.{C764F7D6-055D-4C7D-97FD-83D2C4440585}" || c.variations?.[0]?.url !== "index.html") process.exit(1)' "$DIST_DIR/config.json"
 
cd "$DIST_DIR"
zip -qr "$TEMP_PACKAGE" config.json index.html assets resources
unzip -tq "$TEMP_PACKAGE" >/dev/null
mv -f "$TEMP_PACKAGE" "$PACKAGE"
printf '%s\n' "$PACKAGE"