fix: 版本控制

This commit is contained in:
msojocs 2022-02-01 22:55:08 +08:00
parent 3f5de03ff0
commit 3e9c34bf17
6 changed files with 141 additions and 10 deletions

View File

@ -16,7 +16,7 @@ USERDATADIR="$( echo ~ )/.config/wechat_devtools"
# "$@"参数
LANG=zh_CN.UTF-8
"$root_dir/nwjs/nw" $root_dir/package.nw $EXTENSION2 $INSPECTOR2 --crash --crash-dumps-dir=/mnt/disk1/GitHub/wechat-devtools/tmp --remote-debugging-port=9999 "$@"
"$root_dir/nwjs/nw" $root_dir/package.nw $EXTENSION2 "$@"
# https://crashpad.chromium.org/doxygen/classcrashpad_1_1InitialClientData.html#details
# "$root_dir/nwjs/nw" --type=crashpad-handler "--user-data-dir=$USERDATADIR" /prefetch:7 --monitor-self --monitor-self-argument=--type=crashpad-handler "--monitor-self-argument=--user-data-dir=$USERDATADIR" --monitor-self-argument=/prefetch:7 --monitor-self-annotation=ptype=crashpad-handler "--database=$USERDATADIR/Crashpad" "--metrics-dir=$USERDATADIR" --annotation=plat=Linux --annotation=prod=微信开发者工具 --annotation=ver=1.05.2201240 --initial-client-data=0x220,0x224,0x228,0x1fc,0x22c,0x7ffae66ebeb8,0x7ffae66ebec8,0x7ffae66ebed8 &

View File

@ -22,7 +22,6 @@ fail() {
echo "start"
python --version
echo "docker node version: $( node --version )"
# export http_proxy="http://192.168.249.236:7890"
ACTION_MODE=$( export ACTION_MODE )
if [ $ACTION_MODE!='true' ]; then
@ -37,7 +36,7 @@ if [ $ACTION_MODE!='true' ]; then
npm set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs # phantomjs 二进制包镜像
npm set selenium_cdnurl https://npm.taobao.org/mirrors/selenium # selenium 二进制包镜像
npm set node_inspector_cdnurl https://npm.taobao.org/mirrors/node-inspector # node-inspector 二进制包镜像
npm cache clean --force # 清空缓存
# npm cache clean --force # 清空缓存
echo "\
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free\
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
@ -55,7 +54,8 @@ apt-get update; # 更新
apt-get install -y libx11-dev libxkbfile-dev p7zip-full
echo "=====安装node-gyp nw-gyp===="
npm install -g npm node-gyp nw-gyp
npm uninstall node-gyp -g
npm install node-gyp nw-gyp npm -g --registry=https://registry.npm.taobao.org
node-gyp install
node-gyp list
@ -70,7 +70,7 @@ node-gyp list
# end test
cd /workspace
# rm -rf package.nw node nwjs
#
# rm -rf package.nw
# node nwjs
# exec ./tools/rebuild-node-modules 0.53.1
exec ./tools/setup-wechat-devtools-bash

11
test/fix-nodegit Normal file
View File

@ -0,0 +1,11 @@
#!/bin/bash
root_dir=$(cd `dirname $0`/.. && pwd -P)
export PATH="$root_dir/node/bin:$PATH"
cd "$root_dir/tmp"
mkdir node_test
cd node_test
# npm install nodegit --save --prefix="$root_dir/tmp/node_test"
rm -rf "$root_dir/package.nw/node_modules/nodegit"
cp -r "$root_dir/tmp/node_test/node_modules/nodegit" "$root_dir/package.nw/node_modules"

View File

@ -1,5 +1,8 @@
#!/bin/bash
root_dir=$(cd `dirname $0`/.. && pwd -P)
export PATH="$root_dir/node/bin:$PATH"
PY_VERSION=`python -V 2>&1|awk '{print $2}'|awk -F '.' '{print $1}'`
echo $PY_VERSION
if [ "$PY_VERSION" == "Python 3.10.1" ]; then

View File

@ -16,8 +16,12 @@ if [ -z $NW_VERSION ]; then
echo "NW 版本未指定!"
exit 1
fi
echo -e "\033[42;37m ######## 版本信息 $(date '+%Y-%m-%d %H:%M:%S') ########\033[0m"
echo "目录: $DIR"
echo "NW VERSION: $NW_VERSION"
echo "nw-gyp version: $( nw-gyp --version )"
echo "node version: $(node --version )"
echo "npm version: $(npm --version )"
export PATH="$DIR/../node/bin:$PATH"
PY_VERSION=`python -V 2>&1|awk '{print $2}'|awk -F '.' '{print $1}'`
@ -50,10 +54,12 @@ 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"
(npm install \
(cd "${package_dir}/node_modules_tmp" && npm install \
extract-file-icon \
native-keymap \
node-pty \
@ -64,12 +70,10 @@ rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
vscode-oniguruma \
vscode-ripgrep \
nodegit \
--prefix="${package_dir}/node_modules_tmp" \
--registry=https://registry.npm.taobao.org \
--nodegit_binary_host_mirror=https://npm.taobao.org/mirrors/nodegit/v0.27.0/) # reinstall modules
# rebuild
echo "nw-gyp version: $( nw-gyp --version )"
cd "$package_dir/node_modules_tmp/node_modules/node-pty" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION"
(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"
@ -79,11 +83,13 @@ cp -fr "${package_dir}/node_modules_tmp/node_modules/node-pty" "${package_dir}/n
cd "$package_dir/node_modules_tmp/node_modules/native-watchdog" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION"
rm -rf "${package_dir}/node_modules/native-watchdog" && cp -fr "${package_dir}/node_modules_tmp/node_modules/native-watchdog" "${package_dir}/node_modules"
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 "obj.target" | xargs -I{} rm -rf {})
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name "*.node" | xargs -I{} /bin/cp -rf {} ${package_dir}/node_modules/{})
(cd "${package_dir}/node_modules_tmp/node_modules" && find -name "*.node" | xargs -I{} cp -rf {} ${package_dir}/node_modules/{})
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"

111
tools/rebuild-node-modules2 Normal file
View File

@ -0,0 +1,111 @@
#!/bin/bash
# 参数:
# 1 ---- NW版本
#
set -e
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
NW_VERSION=$1
package_dir="$DIR/../package.nw"
if [ -z $NW_VERSION ]; then
echo "NW 版本未指定!"
exit 1
fi
echo "目录: $DIR"
echo "NW VERSION: $NW_VERSION"
export PATH="$DIR/../node/bin:$PATH"
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 )" "$DIR/../node/bin/python"
fi
hash nw-gyp 2>/dev/null || {
echo "=======请安装nw-gyp======="
exit 1
}
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/spdlog"
rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
rm -fr "${package_dir}/node_modules_tmp/node_modules/nodegit"
rm -fr "${package_dir}/node_modules_tmp/node_modules/extract-file-icon"
npm install node-gyp nw-gyp -g
npm config delete registry
(npm install \
extract-file-icon \
native-keymap \
native-watchdog \
node-pty \
oniguruma \
spdlog@0.11.1 \
trash \
vscode-oniguruma \
vscode-ripgrep \
--prefix="${package_dir}/node_modules_tmp" ) # reinstall modules
# rebuild
echo "nw-gyp version: $( nw-gyp --version )"
for mod in "${package_dir}/node_modules_tmp/node_modules"/*; do
mod_name=$(basename "$mod")
echo -e "\e[1;34mrebuild $mod_name\e[0m" >&2
cd "$mod"
case "$mod_name" in
# extract-file-icon|spdlog-node|oniguruma-node|native-keymap|node-pty-node)
# npm install
# ;;
spdlog|oniguruma|node-pty|native-watchdog|nodegit)
nw-gyp rebuild --arch=x64 --target="${NW_VERSION}"
;;
# nodegit)
# mkdir lib
# npm install
# npm run recompile
# ;;
vscode-ripgrep)
rm -rf bin
npm install
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"
;;
vscode-windows-*|windows-*)
cd ../
rm -rf "${mod}"
;;
trash|vscode-oniguruma)
;;
*)
echo -e "\e[1;31mcannot rebuild $mod\e[0m" >&2
rm -rf "$mod"
;;
esac
find -name "obj.target" | xargs -I{} rm -rf {}
find -name "*.node" | xargs -I{} cp -rf {} "${package_dir}/node_modules/$mod_name/{}"
done
# (cd "${package_dir}/node_modules_tmp/node_modules" && find -name "obj.target" | xargs -I{} rm -rf {})
# (cd "${package_dir}/node_modules_tmp/node_modules" && find -name "*.node" | xargs -I{} cp -rf {} ${package_dir}/node_modules/{})
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"
rm -rf "${package_dir}/node_modules_tmp"
# 移除旧配置
# rm -fr ~/.config/wechat_devtools