diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c86d6de..59912ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ on: push: tags: - v* - branches: [ master, aur] + branches: [ master, build] pull_request: branches: [ master ] # # Allows you to run this workflow manually from the Actions tab @@ -22,7 +22,6 @@ jobs: strategy: matrix: - node-version: [16.x] ARCH: ['x86_64'] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ @@ -30,18 +29,10 @@ jobs: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - name: Prepare + - name: Test run: | - pwd - ls -l - export ACTION_MODE=true - sudo apt-get install -y libx11-dev libxkbfile-dev p7zip-full python2 python3 libkrb5-dev gcc openssl libssh2-1-dev g++ make - npm install node-gyp nw-gyp npm -g - node-gyp install + echo "$UID, $GID" - name: Generate TAG id: Tag @@ -58,24 +49,25 @@ jobs: - name: Build run: | - # docker-compose up - export ACTION=true + export ACTION_MODE=true + export DOCKER_UID=$UID + export DOCKER_GID=$GID # tar.gz AppImage ls -l - tools/setup-wechat-devtools-bash - sudo chmod -R 755 package.nw - bash tools/build-release.sh ${{ steps.tag.outputs.tag }} ${{ matrix.ARCH }} + docker-compose up + mkdir -p tmp/build + tools/build-release.sh ${{ steps.tag.outputs.tag }} ${{ matrix.ARCH }} - name: Compress nodegit compiler run: | ls -l - sudo cp -r package.nw/node_modules/nodegit tmp/build/nodegit - sudo cp -r compiler tmp/build/compiler + cp -r package.nw/node_modules/nodegit tmp/build/nodegit + cp -r compiler tmp/build/compiler cd tmp/build ls -l tar -zcf compiler.tar.gz compiler tar -zcf nodegit.tar.gz nodegit - sudo rm -rf compiler nodegit + rm -rf compiler nodegit ls -l - name: View Directory @@ -119,14 +111,12 @@ jobs: - name: Build Deb Package run: | export BUILD_VERSION=${{ steps.tag.outputs.tag }} - tools/build-deb.sh - # deb - sudo chmod -R 777 tmp - cd tmp - ls -l deb - mkdir -p build - mv deb/*.deb build - ls -l build + export DOCKER_UID=$UID + export DOCKER_GID=$GID + docker-compose up + ls -l + mkdir -p tmp/build + tools/build-deb.sh ${{ steps.tag.outputs.tag }} - name: Upload artifact uses: actions/upload-artifact@v2.3.1 diff --git a/docker-compose.yml b/docker-compose.yml index 94d65e9..ceececc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,19 @@ version: "3" services: wechat_devtools: - # image: node:16.13.1 - build: - context: ./docker - dockerfile: Dockerfile + image: jiyecafe/wechat-devtools-build:latest + # build: + # context: ./docker + # dockerfile: Dockerfile volumes: - .:/workspace - ./cache/.npm:/root/.npm environment: - - ACTION=${ACTION_MODE:-false} + - ACTION_MODE=${ACTION_MODE:-false} # - https_proxy=${https_proxy:-} - NO_WINE=${NO_WINE:-true} - - LOCAL_USER_ID=${UID:-1000} + - LOCAL_USER_ID=${DOCKER_UID:-1000} + - LOCAL_GROUP_ID=${DOCKER_GID:-1000} + - BUILD_VERSION=${BUILD_VERSION:-v0} entrypoint: /workspace/docker/docker-entrypoint userns_mode: "host" \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index b068e3f..2e02ae2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,20 +1,32 @@ -FROM node:16.13.1 +FROM debian:9.13-slim -RUN 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 - deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free\ - # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free - deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free\ - # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free - deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free\ - # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free - "> /etc/apt/sources.list && apt-get clean && \ - apt-get update && set -eux; \ - apt-get update; \ - apt-get install -y gosu libx11-dev libxkbfile-dev p7zip-full; \ - rm -rf /var/lib/apt/lists/*; \ - # verify that the binary works - gosu nobody true; +WORKDIR /workspace -WORKDIR /workspace \ No newline at end of file +RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ + sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ + sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ + mkdir -p /build_temp/python36 /build_temp/nodejs && \ + apt update && \ + apt install -y binutils software-properties-common gcc g++ \ + gconf2 libxkbfile-dev p7zip-full make libssh2-1-dev libkrb5-dev wget \ + openssl pkg-config build-essential && \ + cd /build_temp/python36 && \ + apt-get install -y aptitude &&\ + aptitude -y install gcc make zlib1g-dev libffi-dev libssl-dev &&\ + mkdir -p test && cd test &&\ + wget http://npm.taobao.org/mirrors/python/3.6.5/Python-3.6.5.tgz &&\ + tar -xvf Python-3.6.5.tgz &&\ + chmod -R +x Python-3.6.5 &&\ + cd Python-3.6.5/ &&\ + ./configure &&\ + aptitude -y install libffi-dev libssl-dev &&\ + make && make install &&\ + cd /build_temp/nodejs &&\ + wget https://deb.nodesource.com/setup_16.x &&\ + chmod +x setup_16.x &&\ + ./setup_16.x &&\ + apt-get install -y nodejs &&\ + rm -rf /build_temp && \ + apt install -y gosu && \ + gosu nobody true && \ + useradd -s /bin/bash -m user diff --git a/docker/docker-entrypoint b/docker/docker-entrypoint index 9710508..e28ccd4 100755 --- a/docker/docker-entrypoint +++ b/docker/docker-entrypoint @@ -1,13 +1,21 @@ #!/bin/bash -if [ "$(id -u)" -eq '0' ] -then - USER_ID=${LOCAL_USER_ID:-9001} - usermod -u ${USER_ID} -g ${USER_ID} node > /dev/null 2>&1 - chown -R ${USER_ID}:${USER_ID} /workspace > /dev/null 2>&1 +strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC +strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_2.2 + +notice() { + echo -e "\033[36m $1 \033[0m " +} + +if [ "$(id -u)" -eq '0' ];then + USER_ID=${LOCAL_USER_ID:-1000} + GROUP_ID=${LOCAL_GROUP_ID:-1000} + notice "$USER_ID, $GROUP_ID" + usermod -u ${USER_ID} -g ${GROUP_ID} user > /dev/null 2>&1 + chown -R ${USER_ID}:${GROUP_ID} /workspace > /dev/null 2>&1 - ACTION_MODE=$( export ACTION_MODE ) if [ $ACTION_MODE!='true' ]; then + notice "非ACTION模式, 设置镜像源" npm set registry https://r.npm.taobao.org # 注册模块镜像 npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像 ## 以下选择添加 @@ -20,12 +28,11 @@ then 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 # 清空缓存 - fi # ls -l # cat /etc/passwd - exec gosu node docker/entrypoint + exec gosu user docker/entrypoint fi diff --git a/docker/entrypoint b/docker/entrypoint index 9700b89..6658962 100755 --- a/docker/entrypoint +++ b/docker/entrypoint @@ -27,4 +27,7 @@ cd /workspace rm -rf node nwjs package.nw # # exec ./tools/rebuild-node-modules 0.53.1 -exec ./tools/setup-wechat-devtools-bash +./tools/setup-wechat-devtools-bash + +chmod -R 777 tmp node nwjs package.nw +ls -l package.nw diff --git a/res/deb/docker-compose.yml b/res/deb/docker-compose.yml deleted file mode 100644 index a0ba8fa..0000000 --- a/res/deb/docker-compose.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3" -services: - wechat_devtools: - image: jiyecafe/wechat-devtools-build:v1 - # build: - # context: ./docker - # dockerfile: Dockerfile - environment: - - NO_WINE=${NO_WINE:-true} - - BUILD_VERSION=${BUILD_VERSION:-v0} - volumes: - - ./../../:/workspace - entrypoint: /workspace/res/deb/docker/docker-entrypoint \ No newline at end of file diff --git a/res/deb/docker/Dockerfile b/res/deb/docker/Dockerfile deleted file mode 100644 index b346f46..0000000 --- a/res/deb/docker/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -FROM debian:9.13-slim - -WORKDIR /workspace - -RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ - sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ - sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \ - mkdir -p /build_temp/python36 /build_temp/nodejs && \ - apt update && \ - apt install -y binutils software-properties-common gcc g++ \ - gconf2 libxkbfile-dev p7zip-full make libssh2-1-dev libkrb5-dev wget \ - openssl pkg-config build-essential && \ - cd /build_temp/python36 && \ - apt-get install -y aptitude &&\ - aptitude -y install gcc make zlib1g-dev libffi-dev libssl-dev &&\ - mkdir -p test && cd test &&\ - wget http://npm.taobao.org/mirrors/python/3.6.5/Python-3.6.5.tgz &&\ - tar -xvf Python-3.6.5.tgz &&\ - chmod -R +x Python-3.6.5 &&\ - cd Python-3.6.5/ &&\ - ./configure &&\ - aptitude -y install libffi-dev libssl-dev &&\ - make && make install &&\ - cd /build_temp/nodejs &&\ - wget https://deb.nodesource.com/setup_16.x &&\ - chmod +x setup_16.x &&\ - ./setup_16.x &&\ - apt-get install -y nodejs &&\ - rm -rf /build_temp && \ - apt install -y gosu diff --git a/res/deb/docker/docker-entrypoint b/res/deb/docker/docker-entrypoint deleted file mode 100755 index 6371632..0000000 --- a/res/deb/docker/docker-entrypoint +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# set -e - -notice() { - echo -e "\033[36m $1 \033[0m " -} - -strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC -strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_2.2 -# gcc -v -# g++ -v -# cc -v -# node --version -# python --version -# python3 --version - -echo "==============" -cd /workspace -# mkdir -p tmp/test/node_modules -# cd tmp/test -# npm install nodegit -# tail -f /etc/issue -./tools/setup-wechat-devtools-bash - -############ 构建deb包 ################ -root_dir=$(cd `dirname $0`/../../.. && pwd -P) -echo "root_dir: $root_dir" -tmp_dir="$root_dir/tmp" -app_dir="$root_dir/tmp/deb" - -# Remove any previous build -rm -rf $app_dir -# Make usr and icons dirs -notice "Make Dirs" -mkdir -p $app_dir/opt/wechat-devtools/bin -mkdir -p $app_dir/usr/{src,bin} -mkdir -p $app_dir/usr/share/{metainfo,icons,applications} - -notice "COPY Files" -cp -r "$root_dir/res/deb/data"/* $app_dir -cp "$root_dir/bin/wechat-devtools" "$app_dir/opt/wechat-devtools/bin" -cp "$root_dir/res/deb.desktop" "$app_dir/usr/share/applications/wechat-devtools.desktop" -if [[ ! $BUILD_VERSION -eq 'continuous' ]];then - sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control" -else - sed -i "s/BUILD_VERSION/0/" "$app_dir/DEBIAN/control" -fi -cp "$root_dir/res/icons/wechat-devtools.png" "$app_dir/usr/share/icons/wechat-devtools.png" - -cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw" -cp -r "$root_dir/nwjs" "$app_dir/opt/wechat-devtools/nwjs" -rm -rf "$app_dir/opt/wechat-devtools/nwjs"/{node,node.exe} -cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node" -cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe" - -notice "BUILD DEB Package" -cd "$root_dir/tmp/deb" -ls -l "$root_dir/tmp/deb" -dpkg-deb -b . "WeChat_Dev_Tools_$BUILD_VERSION.deb" diff --git a/tools/appimage.sh b/tools/appimage.sh deleted file mode 100755 index 6f5b342..0000000 --- a/tools/appimage.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -export ARCH=x86_64 - -root_dir=$(cd `dirname $0`/.. && pwd -P) -tmp_dir="$root_dir/tmp" -app_dir="$root_dir/tmp/AppDir" - -# Remove any previous build -rm -rf $app_dir -# Make usr and icons dirs -mkdir -p $app_dir/bin -mkdir -p $app_dir/usr/{src,bin} -mkdir -p $app_dir/usr/share/{metainfo,icons} - -cp "$root_dir/bin/wechat-devtools" "$app_dir/bin/wechat-devtools" -cp "$root_dir/res/appimage.desktop" "$app_dir/wechat-devtools.desktop" -cp "$root_dir/res/icons/wechat-devtools.png" "$app_dir/wechat-devtools.png" - -cat > "$app_dir/AppRun" <<- EOF -#!/bin/bash -exec \$APPDIR/bin/wechat-devtools -EOF -chmod +x "$app_dir/AppRun" - -cp -r "$root_dir/package.nw" "$app_dir/package.nw" -cp -r "$root_dir/nwjs" "$app_dir/nwjs" -rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe" -cp -r "$root_dir/node/bin/node" "$app_dir/nwjs/node" -cd "$app_dir/nwjs/" && ln -s "node" "node.exe" -cd "$app_dir" - -# appimagetool $app_dir \ No newline at end of file diff --git a/tools/build-appimage.sh b/tools/build-appimage.sh new file mode 100755 index 0000000..be6854f --- /dev/null +++ b/tools/build-appimage.sh @@ -0,0 +1,65 @@ +#!/bin/bash +notice() { + echo -e "\033[36m $1 \033[0m " +} + +if [ -z $VERSION ];then + export VERSION=$1 +fi +if [ -z $ARCH ];then + export ARCH=$2 +fi + +if [[ $NO_WINE == 'true' ]];then + TYPE='no_wine' +else + TYPE='wine' +fi + +root_dir=$(cd `dirname $0`/.. && pwd -P) +tmp_dir="$root_dir/tmp" +app_dir="$tmp_dir/AppDir" +build_dir="$tmp_dir/build" + +notice "下载AppImage构建工具 ACTION_MODE:$ACTION_MODE" +if [[ $ACTION_MODE == 'false' ]]; then + appimagetool_host="download.fastgit.org" +else + appimagetool_host="github.com" +fi +if [ ! -f "$tmp_dir/appimagetool-x86_64.AppImage" ];then + wget "https://$appimagetool_host/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" \ + -O "$tmp_dir/appimagetool-x86_64.AppImage" +fi +chmod a+x "$tmp_dir/appimagetool-x86_64.AppImage" + +# Remove any previous build +rm -rf $app_dir +# Make usr and icons dirs +mkdir -p $app_dir/bin +mkdir -p $app_dir/usr/{src,bin} +mkdir -p $app_dir/usr/share/{metainfo,icons} + +notice "COPY FILES" +cp "$root_dir/bin/wechat-devtools" "$app_dir/bin/wechat-devtools" +cp "$root_dir/res/appimage.desktop" "$app_dir/wechat-devtools.desktop" +cp "$root_dir/res/icons/wechat-devtools.png" "$app_dir/wechat-devtools.png" + +cat > "$app_dir/AppRun" <<- EOF +#!/bin/bash +exec \$APPDIR/bin/wechat-devtools +EOF +chmod +x "$app_dir/AppRun" + +cp -r "$root_dir/package.nw" "$app_dir/package.nw" +cp -r "$root_dir/nwjs" "$app_dir/nwjs" +rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe" +cp -r "$root_dir/node/bin/node" "$app_dir/nwjs/node" +cd "$app_dir/nwjs/" && ln -s "node" "node.exe" +cd "$app_dir" + +# appimagetool $app_dir +notice "MAKE APPIMAGE" +"$tmp_dir/appimagetool-x86_64.AppImage" "$app_dir" "$build_dir/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}.AppImage" + +rm -rf $app_dir \ No newline at end of file diff --git a/tools/build-deb.sh b/tools/build-deb.sh index c297c30..aea30fe 100755 --- a/tools/build-deb.sh +++ b/tools/build-deb.sh @@ -1,4 +1,8 @@ #!/bin/bash +set -e +notice() { + echo -e "\033[36m $1 \033[0m " +} root_dir=$(cd `dirname $0`/.. && pwd -P) echo $BUILD_VERSION @@ -6,7 +10,40 @@ if [ -z "$BUILD_VERSION" ];then export BUILD_VERSION=$1 fi echo $BUILD_VERSION -cd $root_dir/res/deb -pwd -# docker-compose down -docker-compose up \ No newline at end of file + +############ 构建deb包 ################ +root_dir=$(cd `dirname $0`/.. && pwd -P) +echo "root_dir: $root_dir" +tmp_dir="$root_dir/tmp" +app_dir="$root_dir/tmp/deb" + +# Remove any previous build +rm -rf $app_dir +# Make usr and icons dirs +notice "Make Dirs" +mkdir -p $app_dir/opt/wechat-devtools/bin +mkdir -p $app_dir/usr/{src,bin} +mkdir -p $app_dir/usr/share/{metainfo,icons,applications} + +notice "COPY Files" +cp -r "$root_dir/res/deb/data"/* $app_dir +cp "$root_dir/bin/wechat-devtools" "$app_dir/opt/wechat-devtools/bin" +cp "$root_dir/res/deb.desktop" "$app_dir/usr/share/applications/wechat-devtools.desktop" +if [[ ! $BUILD_VERSION -eq 'continuous' ]];then + sed -i "s/BUILD_VERSION/${BUILD_VERSION//v/}/" "$app_dir/DEBIAN/control" +else + sed -i "s/BUILD_VERSION/0/" "$app_dir/DEBIAN/control" +fi +cp "$root_dir/res/icons/wechat-devtools.png" "$app_dir/usr/share/icons/wechat-devtools.png" + +cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw" +cp -r "$root_dir/nwjs" "$app_dir/opt/wechat-devtools/nwjs" +rm -rf "$app_dir/opt/wechat-devtools/nwjs"/{node,node.exe} +cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node" +cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe" + +notice "BUILD DEB Package" +cd "$root_dir/tmp/deb" +ls -l "$root_dir/tmp/deb" +mkdir -p "$root_dir/tmp/build" +dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_$BUILD_VERSION.deb" diff --git a/tools/build-release.sh b/tools/build-release.sh index 3aa500c..5d0b09a 100755 --- a/tools/build-release.sh +++ b/tools/build-release.sh @@ -4,9 +4,13 @@ set -e root_dir=$(cd `dirname $0`/.. && pwd -P) tmp_dir="$root_dir/tmp" -build_dir="$tmp_dir/build" -version=$1 -ARCH=$2 +if [ -z $VERSION ];then + export VERSION=$1 +fi +if [ -z $ARCH ];then + export ARCH=$2 +fi + success() { echo -e "\033[42;37m 成功 \033[0m $1" @@ -19,58 +23,29 @@ fail() { echo -e "\033[41;37m 失败 \033[0m $1" } -if [[ $version == '' ]];then - fail "请指定版本" +if [[ $VERSION == '' ]];then + fail "请指定版本号" exit 1 elif [[ $ARCH == '' ]];then fail "请指定架构" exit 1 fi -export ARCH=$ARCH - -rm -rf "$build_dir" -mkdir -p "$build_dir" - -notice "下载AppImage构建工具" -if [ $ACTION_MODE!='true' ]; then - appimagetool_host="github.com" -else - appimagetool_host="download.fastgit.org" -fi -wget "https://$appimagetool_host/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" \ - -O "$tmp_dir/appimagetool-x86_64.AppImage" -chmod a+x "$tmp_dir/appimagetool-x86_64.AppImage" for type in wine no_wine; do notice "当前构建类型: $type"; - FULL_NAME="WeChat_Dev_Tools_${version}_${ARCH}_$type" if [[ $type == 'no_wine' ]];then notice "no wine handle" export NO_WINE=true - bash "$root_dir/tools/fix-core.sh" - bash "$root_dir/tools/fix-other.sh" + "$root_dir/tools/fix-core.sh" + "$root_dir/tools/fix-other.sh" fi - mkdir -p "$build_dir/$FULL_NAME" # 构建压缩包 - notice "COPY bin" - \cp -rf "$root_dir/bin" "$build_dir/$FULL_NAME/bin" - notice "COPY nwjs" - \cp -drf "$root_dir/nwjs" "$build_dir/$FULL_NAME/nwjs" - notice "COPY node" - rm -rf "$build_dir/$FULL_NAME/nwjs/node" - \cp -rf "$root_dir/node/bin/node" "$build_dir/$FULL_NAME/nwjs/node" - notice "COPY package.nw" - \cp -rf "$root_dir/package.nw" "$build_dir/$FULL_NAME/package.nw" - notice "MAKE tar.gz" - cd "$build_dir" && tar -zcf "$FULL_NAME.tar.gz" "$FULL_NAME" + notice "BUILD Simple Package" + "$root_dir/tools/build-tar.sh" # 构建AppImage notice "BUILD AppImage" - bash "$root_dir/tools/appimage.sh" - "$tmp_dir/appimagetool-x86_64.AppImage" "$root_dir/tmp/AppDir" "$build_dir/$FULL_NAME.AppImage" + "$root_dir/tools/build-appimage.sh" - # 删除构建资源 - notice "DELETE Build Source" - rm -rf "$build_dir/$FULL_NAME" done \ No newline at end of file diff --git a/tools/build-tar.sh b/tools/build-tar.sh new file mode 100755 index 0000000..157bd35 --- /dev/null +++ b/tools/build-tar.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# 脚本执行前提,已完成支持wine的基本构建 +set -e +root_dir=$(cd `dirname $0`/.. && pwd -P) +tmp_dir="$root_dir/tmp" +store_dir="$tmp_dir/build" +mkdir -p $store_dir +if [ -z $VERSION ];then + export VERSION=$1 +fi +if [ -z $ARCH ];then + export ARCH=$2 +fi + +success() { + echo -e "\033[42;37m 成功 \033[0m $1" +} +notice() { + echo -e "\033[36m $1 \033[0m " +} + +fail() { + echo -e "\033[41;37m 失败 \033[0m $1" +} + +if [[ $VERSION == '' ]];then + fail "请指定版本" + exit 1 +elif [[ $ARCH == '' ]];then + fail "请指定架构" + exit 1 +fi + +if [[ $NO_WINE == 'true' ]];then + TYPE='no_wine' +else + TYPE='wine' +fi + +build_dir="$tmp_dir/tar/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}" +mkdir -p $build_dir +notice "COPY bin" +\cp -rf "$root_dir/bin" "$build_dir/bin" +notice "COPY nwjs" +\cp -drf "$root_dir/nwjs" "$build_dir/nwjs" +notice "COPY node" +rm -rf "$build_dir/nwjs/node" +\cp -rf "$root_dir/node/bin/node" "$build_dir/nwjs/node" +notice "COPY package.nw" +\cp -rf "$root_dir/package.nw" "$build_dir/package.nw" +notice "MAKE tar.gz" +cd "$tmp_dir/tar" && tar -zcf "$store_dir/WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}.tar.gz" "WeChat_Dev_Tools_${VERSION}_${ARCH}_${TYPE}" +rm -rf $build_dir \ No newline at end of file diff --git a/tools/rebuild-node-modules.sh b/tools/rebuild-node-modules.sh index b205c26..fba738c 100755 --- a/tools/rebuild-node-modules.sh +++ b/tools/rebuild-node-modules.sh @@ -43,6 +43,7 @@ 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 diff --git a/tools/update-node-node b/tools/update-node-node index d3d8af7..bf4025a 100755 --- a/tools/update-node-node +++ b/tools/update-node-node @@ -14,7 +14,7 @@ const download = function () { console.error(error) } - let url = process.env['ACTION'] === 'true'?nodeConfig["url-global"]:nodeConfig.url + let url = process.env['ACTION_MODE'] === 'true'?nodeConfig["url-global"]:nodeConfig.url url = url.replace("${version}", nodeConfig.version) .replace("${version}", nodeConfig.version);