wechat-web-devtools-linux/tools/rebuild-node-modules.sh
msojocs 5be7974b85 Squashed commit of the following:
commit 28e7e834f793b3c9ce05c47d41e15f8a1f49d30b
Author: msojocs <jiyecafe@gmail.com>
Date:   Thu Apr 7 13:22:57 2022 +0800

    fix: 7z

commit 15f29ca887a51d7ecc783f8fddabf4e9cd3b5d21
Author: msojocs <jiyecafe@gmail.com>
Date:   Thu Apr 7 13:12:07 2022 +0800

    update: flatpak

commit 6f048bf662c2e2f64addd58d9039310a189af441
Author: msojocs <jiyecafe@gmail.com>
Date:   Thu Apr 7 12:26:45 2022 +0800

    update

commit 039de9c1b3dd53960dd7cb7fbdea6bf147481536
Author: msojocs <jiyecafe@gmail.com>
Date:   Thu Apr 7 12:16:18 2022 +0800

    update: flatpak

commit da0a56a89256a5b9792edd625666d06949ede55c
Author: msojocs <jiyecafe@gmail.com>
Date:   Thu Apr 7 12:16:02 2022 +0800

    fix: 可能的vscode-ripgrep/bin/rg 不存在问题

commit 9f7fd4ed39cc335966a095c9ab05931246282e3e
Author: msojocs <jiyecafe@gmail.com>
Date:   Wed Apr 6 23:34:18 2022 +0800

    update: flatpak

commit b00dfb3ef7d46f0423fa916078c6de6506ad525f
Author: msojocs <jiyecafe@gmail.com>
Date:   Wed Apr 6 23:20:48 2022 +0800

    feat: nodegit compiler in parallel

commit 4ff58b2fb854a874de86a5ec2be1846d8bb00f2c
Author: msojocs <jiyecafe@gmail.com>
Date:   Wed Apr 6 13:54:21 2022 +0800

    update: mirror

commit 76aac0f6a5ecae98c28b77ffc016a79d530584b1
Author: msojocs <jiyecafe@gmail.com>
Date:   Sun Apr 3 23:05:16 2022 +0800

    fix: build

commit 3099858f56eab1db82c9965a60c323869898e37f
Author: msojocs <jiyecafe@gmail.com>
Date:   Sun Apr 3 22:11:24 2022 +0800

    update

commit 150a944c026f14e6e4157ed84243560565a89818
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 20:22:43 2022 +0800

    test

commit 6fa17ebca20f2980f08774c56a48dfa1b5ea6381
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 19:05:35 2022 +0800

    fix: deepin build

commit 3c373a8f6fa765741c3a974d72833b3e240adb2a
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 18:06:43 2022 +0800

    update: deepin build

commit f29fa16289132b40ef1d85992600770cfd2ba298
Author: msojocs <jiyecafe@gmail.com>
Date:   Fri Mar 25 22:42:45 2022 +0800

    使用debuild

commit 324d866482c77a9b7bb4715eebed9c149af7b1d8
Author: msojocs <jiyecafe@gmail.com>
Date:   Wed Mar 23 09:35:12 2022 +0800

    fix: krb5

commit e463415599a04fae282cb36e8a5d3ee2ebae2239
Author: msojocs <jiyecafe@gmail.com>
Date:   Tue Mar 22 22:58:52 2022 +0800

    feat: flatpak

commit 83677cba04e9d84a1ef12cfdeacb0f1e779b4e8c
Merge: 7ff73e1 41ad887
Author: msojocs <jiyecafe@gmail.com>
Date:   Tue Mar 22 13:27:06 2022 +0800

    Merge branch 'master' into flatpak

commit 7ff73e13c795ef1e84b6a6f09fb9347de3600947
Author: msojocs <jiyecafe@gmail.com>
Date:   Fri Mar 11 22:44:35 2022 +0800

    test
2022-04-07 13:43:45 +08:00

113 lines
5.3 KiB
Bash
Executable File

#!/bin/bash
# 参数:
# 1 ---- NW版本
set -e
root_dir=$(cd `dirname $0`/.. && pwd -P)
package_dir="$root_dir/package.nw"
export PATH="$root_dir/node/bin:$PATH"
if [ ! -z $1 ];then
NW_VERSION=$1
fi
if [ -z $NW_VERSION ]; then
echo "NW 版本未指定!"
exit 1
fi
PY_VERSION=`python -V 2>&1|awk '{print $2}'|awk -F '.' '{print $1}'`
if [ $PY_VERSION != 2 ]; then
hash python2 2>/dev/null || { echo >&2 "I require python2 but it's not installed. Aborting."; exit 1; }
ln -s "$( which python2 )" "$root_dir/node/bin/python"
fi
hash nw-gyp 2>/dev/null || {
echo "=======请安装nw-gyp======="
exit 1
}
# 代理处理
echo "尝试取消所有代理"
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY
unset socket_proxy
unset SOCKET_PROXY
unset all_proxy
unset ALL_PROXY
echo -e "\033[42;37m ######## 版本信息 $(date '+%Y-%m-%d %H:%M:%S') ########\033[0m"
echo "NW VERSION: $NW_VERSION"
echo "nw-gyp version: $( nw-gyp --version )"
echo "node version: $(node --version )"
echo "npm version: $(npm --version )"
python --version
python3 --version
rm -fr "${package_dir}/node_modules/vscode-windows-ca-certs" # the module is only available in windows
rm -fr "${package_dir}/node_modules/vscode-windows-registry" # the module is only available in windows
rm -fr "${package_dir}/node_modules/vscode-windows-registry-node" # the module is only available in windows
rm -fr "${package_dir}/node_modules/windows-process-tree" # the module is only available in windows
rm -fr "${package_dir}/node_modules/vscode-ripgrep/bin" # redownload bin on linux
rm -fr "${package_dir}/node_modules/node-pty" "${package_dir}/node_modules/node-pty-node" # the native module is not available in windows
(cd "${package_dir}/node_modules" && find -name *.pdb | xargs -I{} rm -r {}) # remove pdb debugging file
rm -fr "${package_dir}/node_modules_tmp" # remove previous hacking tmp
mkdir -p "${package_dir}/node_modules_tmp"
cp -fr "${package_dir}/node_modules" "${package_dir}/node_modules_tmp/node_modules"
rm -fr "${package_dir}/node_modules_tmp/node_modules/node-pty"
rm -fr "${package_dir}/node_modules_tmp/node_modules/node-pty-node"
rm -fr "${package_dir}/node_modules_tmp/node_modules/native-watchdog"
rm -fr "${package_dir}/node_modules_tmp/node_modules/oniguruma-node"
rm -fr "${package_dir}/node_modules_tmp/node_modules/nodegit"
rm -fr "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep"
rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog"
rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
max_thread=$(cat /proc/cpuinfo| grep "processor"| wc -l)
export JOBS=$max_thread
(cd "${package_dir}/node_modules_tmp" && npm install \
extract-file-icon \
native-keymap \
node-pty \
native-watchdog \
oniguruma \
spdlog@0.11.1 \
trash \
vscode-oniguruma \
vscode-ripgrep \
nodegit \
--registry=http://registry.npmmirror.com \
--nodegit_binary_host_mirror=http://npmmirror.com/mirrors/nodegit/v0.27.0/) # reinstall modules
# rebuild
cd "$package_dir/node_modules_tmp/node_modules/node-pty" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION" --dist-url=https://registry.npmmirror.com/-/binary/nwjs
(cp -fr "${package_dir}/node_modules_tmp/node_modules/node-pty" "${package_dir}/node_modules_tmp/node_modules/node-pty-node")
rm -rf "${package_dir}/node_modules/node-pty" "${package_dir}/node_modules/node-pty-node"
cp -fr "${package_dir}/node_modules_tmp/node_modules/node-pty" "${package_dir}/node_modules"
(cp -fr "${package_dir}/node_modules/node-pty" "${package_dir}/node_modules/node-pty-node")
cd "$package_dir/node_modules_tmp/node_modules/native-watchdog" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION" --dist-url=https://registry.npmmirror.com/-/binary/nwjs
rm -rf "${package_dir}/node_modules/native-watchdog" && cp -fr "${package_dir}/node_modules_tmp/node_modules/native-watchdog" "${package_dir}/node_modules"
cd "${package_dir}/node_modules_tmp/node_modules/nodegit" && rm -rf .github include src lifecycleScripts vendor utils build/vendor build/Release/.deps
cp -fr "${package_dir}/node_modules_tmp/node_modules/nodegit" "${package_dir}/node_modules"
(cp -fr "${package_dir}/node_modules_tmp/node_modules/oniguruma" "${package_dir}/node_modules_tmp/node_modules/oniguruma-node")
(cp -fr "${package_dir}/node_modules_tmp/node_modules/spdlog" "${package_dir}/node_modules_tmp/node_modules/spdlog-node")
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name ".deps" | xargs -I{} rm -rf {} && find -name "obj.target" | xargs -I{} rm -rf {} && find -name "*.a" -delete && find -name "*.lib" -delete && find -name "*.mk" -delete)
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name "*.node" | xargs -I{} \cp -rf {} ${package_dir}/node_modules/{})
cd "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep" && npm run postinstall
mkdir -p "${package_dir}/node_modules/vscode-ripgrep/bin"
\cp -fr "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep/bin/rg" "${package_dir}/node_modules/vscode-ripgrep/bin/rg"
(cd "${package_dir}/node_modules" && find -name ".deps" | xargs -I{} rm -rf {} && find -name "obj.target" | xargs -I{} rm -rf {} && find -name "*.a" -delete && find -name "*.lib" -delete && find -name "*.mk" -delete && find -name "*Makefile" -delete && find -name "*gyp*" -delete)
rm -rf "${package_dir}/node_modules_tmp"