From 4cf11bd8abb877d2e1df954320971c08c4c8624e Mon Sep 17 00:00:00 2001 From: Kang Lin Date: Tue, 6 Feb 2024 15:27:13 +0800 Subject: [PATCH] CI: modify ci --- .github/workflows/android.yml | 6 +- .github/workflows/build.yml | 3 +- .github/workflows/macos.yml | 2 +- .github/workflows/msvc.yml | 2 +- 3th_libs/LunarCalendar | 2 +- appveyor.yml | 152 +++++---------- ci/build-install-tools-windows.sh | 135 ------------- ci/build-install-tools.sh | 227 ---------------------- ci/build.sh | 312 ------------------------------ ci/qt-installer.sh | 168 ---------------- deploy.sh | 3 +- 11 files changed, 60 insertions(+), 952 deletions(-) delete mode 100644 ci/build-install-tools-windows.sh delete mode 100644 ci/build-install-tools.sh delete mode 100644 ci/build.sh delete mode 100644 ci/qt-installer.sh diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index e428f5c3..31d467fd 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -84,7 +84,7 @@ jobs: arch: 'gcc_64' set-env: false cache: true - cache-key-prefix: install-qt-action + cache-key-prefix: cached_qt - name: Install Qt of android uses: jurplel/install-qt-action@v3 @@ -102,7 +102,7 @@ jobs: # Additional Qt modules to install modules: '${{env.qt_modules}}' # optional. See: https://ddalcino.github.io/aqt-list-server/ cache: true - cache-key-prefix: install-qt-action + cache-key-prefix: cached_qt - name: git clone RabbitCommon working-directory: ${{env.SOURCE_DIR}} @@ -134,7 +134,7 @@ jobs: cmake --build . --config ${{matrix.BUILD_TYPE}} --target install APK_FILE=`find . -name "android-*.apk"` cp $APK_FILE Calendar_${{env.Calendar_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_${{matrix.BUILD_TYPE}}.apk - 7z a Calendar_${{env.Calendar_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_${{matrix.BUILD_TYPE}}.zip install/* +# 7z a Calendar_${{env.Calendar_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_${{matrix.BUILD_TYPE}}.zip install/* - name: Update configure file working-directory: ${{github.workspace}}/build diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2acf394e..ac0e4dd0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,7 +82,6 @@ jobs: echo "$file" if [ -f $file ]; then if [ "${file##*.}" != "xml" ] && [ "${file##*.}" != "json" ]; then - echo "md5sum $file" md5sum $file > $file.md5sum cat $file.md5sum >> ${{github.workspace}}/Note.md fi @@ -98,4 +97,4 @@ jobs: if: ${{ startsWith(github.ref, 'refs/tags/') }} run: | gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --notes-file ${{github.workspace}}/Note.md - gh release upload ${{ github.ref_name }} ${{github.workspace}}/${{ env.artifact_path }}/* ${{github.workspace}}/Note.md ${{ github.workspace }}/update.json + gh release upload ${{ github.ref_name }} ${{github.workspace}}/${{ env.artifact_path }}/* ${{github.workspace}}/Note.md ${{github.workspace}}/update.json diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index b15e00e5..4e0c2e00 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -79,7 +79,7 @@ jobs: arch: '${{matrix.qt_arch}}' # optional modules: '${{env.qt_modules}}' # optional. See: https://ddalcino.github.io/aqt-list-server/ cache: true - cache-key-prefix: install-qt-action + cache-key-prefix: cached_qt - name: git clone RabbitCommon working-directory: ${{env.SOURCE_DIR}} diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index b69364e7..1a70d83a 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -100,7 +100,7 @@ jobs: arch: '${{matrix.qt_arch}}' # optional modules: '${{env.qt_modules}}' # optional. See: https://ddalcino.github.io/aqt-list-server/ cache: true - cache-key-prefix: install-qt-action + cache-key-prefix: cached_qt - name: git clone RabbitCommon working-directory: ${{env.SOURCE_DIR}} diff --git a/3th_libs/LunarCalendar b/3th_libs/LunarCalendar index d1996cc0..c41c9ecd 160000 --- a/3th_libs/LunarCalendar +++ b/3th_libs/LunarCalendar @@ -1 +1 @@ -Subproject commit d1996cc08698291e98e1922f06814a120c20ad4c +Subproject commit c41c9ecd64259facfe16ef58117a0f57ab08eae7 diff --git a/appveyor.yml b/appveyor.yml index 6e708822..f07acd53 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,163 +1,115 @@ -#TODO: Change version version: 'v1.0.18.{build}' cache: - ..\other_source + - # Clean cached # https://www.appveyor.com/docs/build-cache/#cleaning-up-cache - + environment: - CalendarVersion: v0.0.26 + CalendarVersion: v1.0.18 STOREPASS: secure: l9BZEU39F1a4vSkhwl0CHR+yh6CD1c7byGzMv+1NUa4= QT_USER: secure: EoBPaPuJ6u9UDYpQWjKhUg== QT_PASSWORD: secure: ejAYGgB+3sBispRxUSr0xw== + matrix: ##### msvc 2015 ######## - - BUILD_TARGERT: windows_msvc - GENERATORS: "Visual Studio 14 2015" - TOOLCHAIN_VERSION: 14 - QT_ROOT: C:\Qt\5.10\msvc2015 - BUILD_ARCH: x86 - - - BUILD_TARGERT: windows_msvc - GENERATORS: "Visual Studio 14 2015 Win64" - TOOLCHAIN_VERSION: 14 - QT_ROOT: C:\Qt\5.10\msvc2015_64 - BUILD_ARCH: x64 - - - BUILD_TARGERT: windows_msvc - GENERATORS: "Visual Studio 14 2015" + - GENERATORS: "Visual Studio 14 2015" TOOLCHAIN_VERSION: 14 QT_ROOT: C:\Qt\5.6\msvc2015 BUILD_ARCH: x86 - - BUILD_TARGERT: windows_msvc - GENERATORS: "Visual Studio 14 2015 Win64" + - GENERATORS: "Visual Studio 14 2015 Win64" TOOLCHAIN_VERSION: 14 QT_ROOT: C:\Qt\5.6\msvc2015_64 BUILD_ARCH: x64 - ##### msvc 2017 ######## - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATORS: "Visual Studio 15 2017" - BUILD_TARGERT: windows_msvc - TOOLCHAIN_VERSION: 15 - QT_ROOT: C:\Qt\5.12\msvc2017 - BUILD_ARCH: x86 - STATIC: ON - - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATORS: "Visual Studio 15 2017 Win64" - BUILD_TARGERT: windows_msvc - TOOLCHAIN_VERSION: 15 - QT_ROOT: C:\Qt\5.12\msvc2017_64 - BUILD_ARCH: x64 - STATIC: ON - - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATORS: "Visual Studio 15 2017 Win64" - BUILD_TARGERT: windows_msvc - TOOLCHAIN_VERSION: 15 - QT_ROOT: C:\Qt\5.10\msvc2017_64 - BUILD_ARCH: x64 - - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - GENERATORS: "Visual Studio 15 2017 Win64" - BUILD_TARGERT: windows_msvc - TOOLCHAIN_VERSION: 15 - QT_ROOT: C:\Qt\5.9\msvc2017_64 - BUILD_ARCH: x64 - matrix: fast_finish: false init: - set varch=%BUILD_ARCH% - if "%BUILD_ARCH%" == "x64" set varch=amd64 - - if "%BUILD_TARGERT%" == "windows_msvc" if %TOOLCHAIN_VERSION% LSS 15 (call "C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN_VERSION%.0\VC\vcvarsall.bat" %varch%) else (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %varch%) + - if %TOOLCHAIN_VERSION% LSS 15 (call "C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN_VERSION%.0\VC\vcvarsall.bat" %varch%) else (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %varch%) - echo NUMBER_OF_PROCESSORS=%NUMBER_OF_PROCESSORS% - echo PROCESSOR_IDENTIFIER=%PROCESSOR_IDENTIFIER% - - if NOT "%QT_ROOT%" == "NO" for /f "delims=" %%i in ('%QT_ROOT%/bin/qmake -query QT_VERSION') do (set QT_VERSION=%%i) + - if NOT "%QT_ROOT%" == "NO" for /f "delims=" %%i in ('%QT_ROOT%/bin/qmake -query QT_VERSION') do (set QT_VERSION=%%i) - echo QT_ROOT=%QT_ROOT% - echo QT_VERSION=%QT_VERSION% - - del C:\msys64\usr\bin\link.exe install: - - C:\msys64\autorebase.bat - - C:\msys64\usr\bin\pacman.exe -S --noconfirm unzip - #- if "%BUILD_TARGERT%"=="windows_mingw" set PATH=C:\Qt\Tools\mingw%TOOLCHAIN_VERSION%_32\bin;%PATH% - - if "%BUILD_TARGERT%" == "windows_mingw" set MSYSTEM=MINGW32 #设置编译系统为MINGW32 - - cd %APPVEYOR_BUILD_FOLDER% - git submodule update --init --recursive - git clone https://github.com/KangLin/RabbitCommon.git - - if "%BUILD_TARGERT%" == "android" C:\msys64\usr\bin\bash.exe %APPVEYOR_BUILD_FOLDER%\ci\build-install-tools-windows.sh + - set RabbitCommon_DIR=%APPVEYOR_BUILD_FOLDER%/RabbitCommon -before_build: - - cd %APPVEYOR_BUILD_FOLDER% - set OTHER_SOURCE=%APPVEYOR_BUILD_FOLDER%\..\other_source - set INSTALL_DIR=%OTHER_SOURCE%\install_dir - - set VCPKG_DIR=%OTHER_SOURCE%\vcpkg - if not exist "%OTHER_SOURCE%" ( mkdir "%OTHER_SOURCE%" ) + - if not exist "%INSTALL_DIR%" (mkdir "%INSTALL_DIR%") - cd %OTHER_SOURCE% - - set CMAKE_VERSION=3.26.4 + - set CMAKE_VERSION=3.28.3 - if not exist cmake-%CMAKE_VERSION%-windows-i386 (curl -fsSL -o cmake-%CMAKE_VERSION%-windows-i386.zip https://github.com/Kitware/CMake/releases/download/v%CMAKE_VERSION%/cmake-%CMAKE_VERSION%-windows-i386.zip && 7z x cmake-%CMAKE_VERSION%-windows-i386.zip) - cd cmake-%CMAKE_VERSION%-windows-i386 - set PATH="%CD%/bin";%PATH% - cd %OTHER_SOURCE% - - if not exist "%INSTALL_DIR%" (mkdir "%INSTALL_DIR%") - - cd %OTHER_SOURCE% - - if not exist vcpkg (git clone "https://github.com/microsoft/vcpkg.git" && cd "%VCPKG_DIR%" && git checkout -b a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 ) - - cd %VCPKG_DIR% - - bootstrap-vcpkg.bat - #- vcpkg --triplet %BUILD_ARCH%-windows install zlib openssl + - set VCPKG_DIR=%OTHER_SOURCE%\vcpkg + - if not exist %VCPKG_DIR% (git clone "https://github.com/microsoft/vcpkg.git" && cd "%VCPKG_DIR%" && git checkout -b a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 && bootstrap-vcpkg.bat) - - cd "%OTHER_SOURCE%" - - if exist RabbitCommon (rmdir /s /q "RabbitCommon") - - if not exist RabbitCommon (git clone "https://github.com/KangLin/RabbitCommon.git") - - set RabbitCommon_DIR=%OTHER_SOURCE%/RabbitCommon +before_build: build_script: - cd %APPVEYOR_BUILD_FOLDER% - mkdir build - cd build - - cmake .. -G"%GENERATORS%" -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%cd%/install" -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake" + - cmake %APPVEYOR_BUILD_FOLDER% ^ + -G"%GENERATORS%" ^ + -DCMARK_SHARED=OFF ^ + -DCMARK_TESTS=OFF ^ + -DCMARK_STATIC=ON ^ + -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 ^ + -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 ^ + -DINSTALL_QT=ON ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_PREFIX="%cd%/install" ^ + -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" ^ + -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake" ^ + -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ + -DVCPKG_APPLOCAL_DEPS=ON - cmake --build . --config Release - cmake --build . --config Release --target install - - #- echo "xcopy /Y %VCPKG_DIR%\installed\%BUILD_ARCH%-windows\bin\*.dll install\bin" - #- xcopy /Y %VCPKG_DIR%\installed\%BUILD_ARCH%-windows\bin\*.dll install\bin - #- xcopy /Y %INSTALL_DIR%\bin\*.dll install\bin - call "C:\Program Files (x86)\NSIS\makensis.exe" Install.nsi + - copy /Y Calendar_Setup_%CalendarVersion%.exe Calendar_%CalendarVersion%_winxp_%BUILD_ARCH%_Setup.exe + +after_build: + - rmdir /S /Q "%VCPKG_DIR%/buildtrees" + - rmdir /S /Q "%VCPKG_DIR%/installed" artifacts: - - path: Calendar_Setup_*.exe - #name: Calendar_$(BUILD_TARGERT)$(TOOLCHAIN_VERSION)_$(BUILD_ARCH)_$(QT_VERSION)_$(appveyor_build_version) - #type: zip + - path: Calendar_$(CalendarVersion)_winxp_$(BUILD_ARCH)_Setup.exe test: off -##See:https://www.appveyor.com/docs/deployment/github/ -#deploy: -# - provider: GitHub -# #release: Tasks$(appveyor_build_version) -# #description: 'Release Tasks $(APPVEYOR_REPO_TAG_NAME) on windows' -# #token : https://github.com/settings/tokens -# #password encrypt: https://ci.appveyor.com/tools/encrypt -# auth_token: -# secure: aPr1U6S1RtXZiK2mCWtAAIOMjuiBR0yPsD2kaYIADtx2ulIitdp336kFqmfKwM9x -# #artifact: Tasks$(BUILD_TARGERT)$(TOOLCHAIN_VERSION)_$(BUILD_ARCH)_$(QT_VERSION)_$(appveyor_build_version) -# #draft: true -# #prerelease: true -# force_update: true -# on: -# BUILD_TARGERT: windows_msvc -# TOOLCHAIN_VERSION: 12 -# QT_VERSION: 5.6.3 -# BUILD_ARCH: x86 -# appveyor_repo_tag: true # deploy on tag push only +#See:https://www.appveyor.com/docs/deployment/github/ +deploy: + - provider: GitHub + #release: Tasks$(appveyor_build_version) + #description: 'Release Tasks $(APPVEYOR_REPO_TAG_NAME) on windows' + #token : https://github.com/settings/tokens + #password encrypt: https://ci.appveyor.com/tools/encrypt + auth_token: + secure: aPr1U6S1RtXZiK2mCWtAAIOMjuiBR0yPsD2kaYIADtx2ulIitdp336kFqmfKwM9x + #artifact: Tasks$(BUILD_TARGERT)$(TOOLCHAIN_VERSION)_$(BUILD_ARCH)_$(QT_VERSION)_$(appveyor_build_version) + #draft: true + #prerelease: true + force_update: true + on: + TOOLCHAIN_VERSION: 14 + QT_VERSION: 5.6.3 + BUILD_ARCH: x86 + appveyor_repo_tag: true # deploy on tag push only diff --git a/ci/build-install-tools-windows.sh b/ci/build-install-tools-windows.sh deleted file mode 100644 index da4e0dd8..00000000 --- a/ci/build-install-tools-windows.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/bash -#下载工具 - -set -ev - -SOURCE_DIR="`pwd`" -echo $SOURCE_DIR -TOOLS_DIR=${SOURCE_DIR}/Tools -PACKAGE_DIR=${SOURCE_DIR}/Package -ThirdLibs_DIR=${TOOLS_DIR}/ThirdLibs -echo ${TOOLS_DIR} - -if [ "$BUILD_TARGERT" = "android" ]; then - export ANDROID_SDK_ROOT=${TOOLS_DIR}/android-sdk - export ANDROID_NDK_ROOT=${TOOLS_DIR}/android-ndk - export JAVA_HOME="/C/Program Files (x86)/Java/jdk1.8.0" - export PATH=${TOOLS_DIR}/apache-ant/bin:$JAVA_HOME:$PATH -else - exit 0 -fi - -if [ ! -d "${TOOLS_DIR}" ]; then - mkdir ${TOOLS_DIR} -fi -if [ ! -d "$PACKAGE_DIR" ]; then - mkdir -p $PACKAGE_DIR -fi -cd ${TOOLS_DIR} - -# Qt qt安装参见:https://github.com/benlau/qtci -if [ -n "${QT_VERSION}" ]; then - QT_DIR=C:/projects/${APPVEYOR_PROJECT_NAME}/Tools/Qt/${QT_VERSION} - if [ ! -d "${QT_DIR}" ]; then - wget -c --no-check-certificate -nv http://download.qt.io/official_releases/qt/${QT_VERSION_DIR}/${QT_VERSION}/qt-opensource-windows-x86-${QT_VERSION}.exe - bash ${SOURCE_DIR}/ci/qt-installer.sh qt-opensource-windows-x86-${QT_VERSION}.exe ${QT_DIR} - rm qt-opensource-windows-x86-${QT_VERSION}.exe - fi -fi - -# Download third libraries -if [ -n "$DOWNLOAD_THIRDLIBS_URL" ]; then - if [ ! -d ${ThirdLibs_DIR} ]; then - mkdir -p ${ThirdLibs_DIR} - fi - cd ${ThirdLibs_DIR} - ThirdLibs_File=third_libs.tar.gz - wget -c --no-check-certificate $DOWNLOAD_THIRDLIBS_URL -O $ThirdLibs_File - tar xzvf $ThirdLibs_File -fi - -cd ${TOOLS_DIR} - -#下载ANT -#wget -c -nv http://apache.fayea.com//ant/binaries/apache-ant-1.10.1-bin.tar.gz -#tar xzf apache-ant-1.10.1-bin.tar.gz -#rm -f apache-ant-1.10.1-bin.tar.gz -#mv apache-ant-1.10.1 apache-ant - -cd ${TOOLS_DIR} - -function install_android() -{ - cd ${TOOLS_DIR} - - if [ -n "$1" ]; then - NDK="ndk-bundle" - fi - - #Download android sdk - if [ ! -d "${TOOLS_DIR}/android-sdk" ]; then - - cd ${PACKAGE_DIR} - ANDROID_STUDIO_VERSION=192.6241897 - if [ ! -f android-studio-ide-${ANDROID_STUDIO_VERSION}-windows.zip ]; then - wget -c -nv https://dl.google.com/dl/android/studio/ide-zips/3.6.1.0/android-studio-ide-${ANDROID_STUDIO_VERSION}-windows.zip - fi - - cd ${TOOLS_DIR} - cp ${PACKAGE_DIR}/android-studio-ide-${ANDROID_STUDIO_VERSION}-windows.zip . - unzip -q android-studio-ide-${ANDROID_STUDIO_VERSION}-windows.zip - rm android-studio-ide-${ANDROID_STUDIO_VERSION}-windows.zip - export JAVA_HOME=${TOOLS_DIR}/android-studio/jre - export PATH=${JAVA_HOME}/bin:$PATH - - SDK_VERSION=4333796 - cd ${PACKAGE_DIR} - if [ ! -f sdk-tools-windows-${SDK_VERSION}.zip ]; then - wget -c -nv https://dl.google.com/android/repository/sdk-tools-windows-${SDK_VERSION}.zip - fi - cd ${TOOLS_DIR} - mkdir android-sdk - cd android-sdk - mv ${PACKAGE_DIR}/sdk-tools-windows-${SDK_VERSION}.zip . - unzip -q sdk-tools-windows-${SDK_VERSION}.zip - rm sdk-tools-windows-${SDK_VERSION}.zip - - echo "Install sdk and ndk ......" - if [ -n "${ANDROID_API}" ]; then - PLATFORMS="platforms;${ANDROID_API}" - else - PLATFORMS="platforms" - fi - if [ -z "${BUILD_TOOS_VERSION}" ]; then - BUILD_TOOS_VERSION="28.0.3" - fi - (sleep 5 ; num=0 ; while [ $num -le 5 ] ; do sleep 1 ; num=$(($num+1)) ; printf 'y\r\n' ; done ) \ - | ./tools/bin/sdkmanager.bat "platform-tools" "build-tools;${BUILD_TOOS_VERSION}" "${PLATFORMS}" ${NDK} - - export ANDROID_SDK_ROOT=${TOOLS_DIR}/android-sdk - if [ -n "${NDK}" ]; then - mv ${TOOLS_DIR}/android-sdk/ndk-bundle ${TOOLS_DIR}/android-ndk - fi - cd ${TOOLS_DIR} - fi - - cd ${SOURCE_DIR} -} - -function install_android_sdk_and_ndk() -{ - install_android - NDK_VERSION=r21 - NDK_PACKAGE=android-ndk-${NDK_VERSION}-windows-x86_64.zip - cd ${PACKAGE_DIR} - if [ ! -f ${NDK_PACKAGE} ]; then - wget -c -nv https://dl.google.com/android/repository/${NDK_PACKAGE} - fi - unzip -q ${NDK_PACKAGE} -d ${TOOLS_DIR} - cd ${TOOLS_DIR} - mv android-ndk-r21 android-ndk -} - -cd ${SOURCE_DIR} - -install_android_sdk_and_ndk diff --git a/ci/build-install-tools.sh b/ci/build-install-tools.sh deleted file mode 100644 index 77090378..00000000 --- a/ci/build-install-tools.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -#下载工具 - -set -e -SOURCE_DIR="`pwd`" -echo $SOURCE_DIR -TOOLS_DIR=${SOURCE_DIR}/Tools -PACKAGE_DIR=${SOURCE_DIR}/Package -ThirdLibs_DIR=${TOOLS_DIR}/ThirdLibs - -if [ ! -d "${TOOLS_DIR}" ]; then - mkdir ${TOOLS_DIR} -fi -if [ ! -d "$PACKAGE_DIR" ]; then - mkdir -p $PACKAGE_DIR -fi - -function function_install_yasm() -{ - #安装 yasm - mkdir -p ${TOOLS_DIR}/src - cd ${TOOLS_DIR}/src - wget -c -nv http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz - tar xzf yasm-1.3.0.tar.gz - cd yasm-1.3.0/ - ./configure > /dev/null && sudo make install -j2 > /dev/null - cd ${SOURCE_DIR} -} - -function function_common() -{ - cd ${TOOLS_DIR} - #下载最新cmake程序 - #if [ "cmake" = "${QMAKE}" ]; then - # if [ ! -d "`pwd`/cmake" ]; then - # wget -nv --no-check-certificate http://www.cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz - # tar xzf cmake-3.6.1-Linux-x86_64.tar.gz - # mv cmake-3.6.1-Linux-x86_64 cmake - # fi - #fi - - # Download third libraries - if [ -n "$DOWNLOAD_THIRDLIBS_URL" ]; then - if [ ! -d ${ThirdLibs_DIR} ]; then - mkdir -p ${ThirdLibs_DIR} - fi - cd ${ThirdLibs_DIR} - ThirdLibs_File=third_libs.tar.gz - wget -c -nv --no-check-certificate $DOWNLOAD_THIRDLIBS_URL -O $ThirdLibs_File - tar xzvf $ThirdLibs_File - fi - - # Qt qt安装参见:https://github.com/benlau/qtci - cd ${TOOLS_DIR} - if [ "$DOWNLOAD_QT" = "TRUE" ]; then - QT_DIR=`pwd`/Qt/${QT_VERSION} - cd ${PACKAGE_DIR} - if [ ! -d "${QT_DIR}" ]; then - if [ "${QT_VERSION}" = "5.6.3" ]; then - if [ ! -f qt-opensource-linux-x64-android-${QT_VERSION}.run ]; then - wget -c --no-check-certificate -nv http://download.qt.io/official_releases/qt/${QT_VERSION_DIR}/${QT_VERSION}/qt-opensource-linux-x64-android-${QT_VERSION}.run - fi - bash ${SOURCE_DIR}/ci/qt-installer.sh qt-opensource-linux-x64-android-${QT_VERSION}.run ${QT_DIR} - #rm qt-opensource-linux-x64-android-${QT_VERSION}.run - else - if [ ! -f qt-opensource-linux-x64-${QT_VERSION}.run ]; then - wget -c --no-check-certificate -nv http://download.qt.io/official_releases/qt/${QT_VERSION_DIR}/${QT_VERSION}/qt-opensource-linux-x64-${QT_VERSION}.run - fi - bash ${SOURCE_DIR}/ci/qt-installer.sh qt-opensource-linux-x64-${QT_VERSION}.run ${QT_DIR} - #rm qt-opensource-linux-x64-${QT_VERSION}.run - fi - fi - fi - - cd ${SOURCE_DIR} -} - -function install_android() -{ - if [ -n "$1" ]; then - NDK="ndk-bundle" - fi - cd ${TOOLS_DIR} - if [ ! -d "`pwd`/android-sdk" ]; then - cd ${PACKAGE_DIR} - ANDROID_STUDIO_VERSION=191.5900203 - if [ ! -f android-studio-ide-${ANDROID_STUDIO_VERSION}-linux.tar.gz ]; then - wget -c -nv https://dl.google.com/dl/android/studio/ide-zips/3.5.1.0/android-studio-ide-${ANDROID_STUDIO_VERSION}-linux.tar.gz - fi - tar xzf android-studio-ide-${ANDROID_STUDIO_VERSION}-linux.tar.gz -C ${TOOLS_DIR} - cd ${TOOLS_DIR} - export JAVA_HOME=`pwd`/android-studio/jre - export PATH=${JAVA_HOME}/bin:$PATH - cd ${PACKAGE_DIR} - SDK_PACKAGE=sdk-tools-linux-4333796.zip - if [ ! -f ${SDK_PACKAGE} ]; then - wget -c -nv https://dl.google.com/android/repository/${SDK_PACKAGE} - fi - cd ${TOOLS_DIR} - mkdir android-sdk - cd android-sdk - unzip -q ${PACKAGE_DIR}/${SDK_PACKAGE} -d `pwd` - - echo "Install sdk and ndk ......" - if [ -n "${ANDROID_API}" ]; then - PLATFORMS="platforms;${ANDROID_API}" - else - PLATFORMS="platforms" - fi - if [ -z "${BUILD_TOOS_VERSION}" ]; then - BUILD_TOOS_VERSION="28.0.3" - fi - (sleep 5 ; num=0 ; while [ $num -le 5 ] ; do sleep 1 ; num=$(($num+1)) ; printf 'y\r\n' ; done ) \ - | ./tools/bin/sdkmanager "platform-tools" "build-tools;${BUILD_TOOS_VERSION}" "${PLATFORMS}" ${NDK} - if [ -n "${NDK}" ]; then - if [ ! -d ${TOOLS_DIR}/android-ndk ]; then - ln -s ${TOOLS_DIR}/android-sdk/ndk-bundle ${TOOLS_DIR}/android-ndk - fi - fi - fi -} - -function install_android_sdk_and_ndk() -{ - install_android - NDK_PACKAGE=android-ndk-r21-linux-x86_64.zip - cd ${PACKAGE_DIR} - if [ ! -f ${NDK_PACKAGE} ]; then - wget -c -nv https://dl.google.com/android/repository/${NDK_PACKAGE} - fi - unzip -q ${NDK_PACKAGE} -d ${TOOLS_DIR} - cd ${TOOLS_DIR} - mv android-ndk-r21 android-ndk -} - -function function_android() -{ - cd ${TOOLS_DIR} - - sudo apt-get update -y -qq - #sudo apt-get install -qq -y openjdk-11-jdk - # install oracle jdk - #sudo add-apt-repository ppa:linuxuprising/java -y - #sudo apt update - #(sleep 5 ; while true ; do sleep 1 ; printf '\r\n' ; done ) | sudo apt install oracle-java11-installer -qq -y - - #sudo apt install oracle-java11-set-default -qq -y - #sudo apt-get install ant -qq -y - sudo apt-get install libicu-dev -qq -y - sudo apt-get install -qq -y libxkbcommon-x11-dev libglu1-mesa-dev - - install_android_sdk_and_ndk - function_common - - cd ${SOURCE_DIR} -} - -function function_unix() -{ - #汇编工具yasm - #function_install_yasm - - if [ "$DOWNLOAD_QT" != "TRUE" -a "$DOWNLOAD_QT" != "APT" ]; then - #See: https://launchpad.net/~beineri - sudo add-apt-repository ppa:beineri/opt-qt-${QT_VERSION}-`lsb_release -c|awk '{print $2}'` -y - fi - - sudo apt-get update -y -qq - sudo apt-get install debhelper fakeroot -y -qq - sudo apt-get install -y -qq libglu1-mesa-dev \ - libxkbcommon-x11-dev \ - libpulse-mainloop-glib0 \ - libgstreamer1.0-dev \ - libgstreamer-plugins-base1.0-dev \ - gstreamer1.0-pulseaudio \ - libmysql-cil-dev libmysql-cil-dev libmysql-ocaml-dev \ - libmysql++-dev libmysqld-dev libmysqlcppconn-dev \ - libmysqlclient-dev \ - libodbc1 - - if [ "$DOWNLOAD_QT" = "APT" ]; then - sudo apt-get install -y -qq qttools5-dev qttools5-dev-tools \ - qtbase5-dev qtbase5-dev-tools \ - qtmultimedia5-dev - sudo ln -s /usr/lib/`uname -m`-linux-gnu/cmake /usr/lib/`uname -m`-linux-gnu/qt5/cmake - elif [ "$DOWNLOAD_QT" != "TRUE" ]; then - sudo apt-get install -y -qq qt${QT_VERSION_DIR}base \ - qt${QT_VERSION_DIR}tools \ - qt${QT_VERSION_DIR}multimedia - sed -i "s/export QT_VERSION=/export QT_VERSION=${QT_VERSION}/g" ${SOURCE_DIR}/debian/preinst - sed -i "s/qt59/qt${QT_VERSION_DIR}/g" ${SOURCE_DIR}/debian/postinst - fi - function_common - - cd ${SOURCE_DIR} -} - -function function_mingw() -{ - #汇编工具yasm - #function_install_yasm - - cd ${SOURCE_DIR} - if [ "true" == "$RABBITIM_BUILD_THIRDLIBRARY" ]; then - export RABBITIM_BUILD_CROSS_HOST=i686-w64-mingw32 #i586-mingw32msvc - fi - - function_common - cd ${SOURCE_DIR} -} - -case ${BUILD_TARGERT} in - android) - function_android - ;; - unix) - function_unix - ;; - windows_mingw) - function_mingw - ;; - *) - echo "There aren't ${BUILD_TARGERT}" - ;; -esac - -cd ${SOURCE_DIR} diff --git a/ci/build.sh b/ci/build.sh deleted file mode 100644 index a3778ac6..00000000 --- a/ci/build.sh +++ /dev/null @@ -1,312 +0,0 @@ -#!/bin/bash -set -e - -SOURCE_DIR=`pwd` -if [ -n "$1" ]; then - SOURCE_DIR=$1 -fi -TOOLS_DIR=${SOURCE_DIR}/Tools -ThirdLibs_DIR=${TOOLS_DIR}/ThirdLibs -cd ${SOURCE_DIR} -export RabbitCommon_DIR="${SOURCE_DIR}/RabbitCommon" - -function version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; } -function version_le() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" == "$1"; } -function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; } -function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; } - -if [ "$BUILD_TARGERT" = "android" ]; then - export ANDROID_SDK_ROOT=${TOOLS_DIR}/android-sdk - export ANDROID_NDK_ROOT=${TOOLS_DIR}/android-ndk - if [ -n "$APPVEYOR" ]; then - #export JAVA_HOME="/C/Program Files (x86)/Java/jdk1.8.0" - export ANDROID_NDK_ROOT=${TOOLS_DIR}/android-sdk/ndk-bundle - fi - #if [ "$TRAVIS" = "true" ]; then - #export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - #fi - export JAVA_HOME=${TOOLS_DIR}/android-studio/jre - - if version_ge $QT_VERSION_DIR 5.14 ; then - export QT_ROOT=${TOOLS_DIR}/Qt/${QT_VERSION}/${QT_VERSION}/android - else - case $BUILD_ARCH in - arm*) - export QT_ROOT=${TOOLS_DIR}/Qt/${QT_VERSION}/android_armv7 - ;; - x86) - export QT_ROOT=${TOOLS_DIR}/Qt/${QT_VERSION}/android_x86 - ;; - esac - fi - export PATH=${TOOLS_DIR}/apache-ant/bin:$JAVA_HOME/bin:$PATH - export ANDROID_SDK=${ANDROID_SDK_ROOT} - export ANDROID_NDK=${ANDROID_NDK_ROOT} - if [ -z "${BUILD_TOOS_VERSION}" ]; then - export BUILD_TOOS_VERSION="28.0.3" - fi -fi - -if [ "${BUILD_TARGERT}" = "unix" ]; then - if [ "$DOWNLOAD_QT" = "APT" ]; then - export QT_ROOT=/usr/lib/`uname -m`-linux-gnu/qt5 - elif [ "$DOWNLOAD_QT" = "TRUE" ]; then - QT_DIR=${TOOLS_DIR}/Qt/${QT_VERSION} - export QT_ROOT=${QT_DIR}/${QT_VERSION}/gcc_64 - else - #source /opt/qt${QT_VERSION_DIR}/bin/qt${QT_VERSION_DIR}-env.sh - export QT_ROOT=/opt/qt${QT_VERSION_DIR} - fi - export PATH=$QT_ROOT/bin:$PATH - export LD_LIBRARY_PATH=$QT_ROOT/lib/i386-linux-gnu:$QT_ROOT/lib:$LD_LIBRARY_PATH - export PKG_CONFIG_PATH=$QT_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH -fi - -if [ "$BUILD_TARGERT" != "windows_msvc" ]; then - RABBIT_MAKE_JOB_PARA="-j`cat /proc/cpuinfo |grep 'cpu cores' |wc -l`" #make 同时工作进程参数 - if [ "$RABBIT_MAKE_JOB_PARA" = "-j1" ];then - RABBIT_MAKE_JOB_PARA="" - fi -fi - -if [ "$BUILD_TARGERT" = "windows_mingw" \ - -a -n "$APPVEYOR" ]; then - export PATH=/C/Qt/Tools/mingw${TOOLCHAIN_VERSION}/bin:$PATH -fi -TARGET_OS=`uname -s` -case $TARGET_OS in - MINGW* | CYGWIN* | MSYS*) - export PKG_CONFIG=/c/msys64/mingw32/bin/pkg-config.exe - RABBIT_BUILD_HOST="windows" - if [ "$BUILD_TARGERT" = "android" ]; then - ANDROID_NDK_HOST=windows-x86_64 - if [ ! -d $ANDROID_NDK/prebuilt/${ANDROID_NDK_HOST} ]; then - ANDROID_NDK_HOST=windows - fi - CONFIG_PARA="${CONFIG_PARA} -DCMAKE_MAKE_PROGRAM=make" #${ANDROID_NDK}/prebuilt/${ANDROID_NDK_HOST}/bin/make.exe" - fi - ;; - Linux* | Unix*) - ;; - *) - ;; -esac - -export PATH=${QT_ROOT}/bin:$PATH -echo "PATH:$PATH" -echo "PKG_CONFIG:$PKG_CONFIG" -cd ${SOURCE_DIR} -mkdir -p build_${BUILD_TARGERT} -cd build_${BUILD_TARGERT} - -case ${BUILD_TARGERT} in - windows_msvc) - MAKE=nmake - ;; - windows_mingw) - if [ "${RABBIT_BUILD_HOST}"="windows" ]; then - MAKE="mingw32-make ${RABBIT_MAKE_JOB_PARA}" - fi - ;; - *) - MAKE="make ${RABBIT_MAKE_JOB_PARA}" - ;; -esac - -export PKG_CONFIG_PATH=${ThirdLibs_DIR}/lib/pkgconfig:${PKG_CONFIG_PATH} -if [ -n "$appveyor_build_version" -a -z "$VERSION" ]; then - export VERSION="v1.0.18" -fi -if [ -z "$VERSION" ]; then - export VERSION="v1.0.18" -fi - -export UPLOADTOOL_BODY="Release Calendar ${VERSION}.
The change see [ChangeLog.md](ChangeLog.md) or [ChangeLog_zh_CN.md](ChangeLog_zh_CN.md)" -#export UPLOADTOOL_PR_BODY= -if [ "${BUILD_TARGERT}" = "unix" ]; then - cd $SOURCE_DIR - if [ "${DOWNLOAD_QT}" != "TRUE" -a "${DOWNLOAD_QT}" != "APT" ]; then - sed -i "s/export QT_VERSION_DIR=.*/export QT_VERSION_DIR=${QT_VERSION_DIR}/g" ${SOURCE_DIR}/debian/postinst - sed -i "s/export QT_VERSION=.*/export QT_VERSION=${QT_VERSION}/g" ${SOURCE_DIR}/debian/preinst - cat ${SOURCE_DIR}/debian/postinst - cat ${SOURCE_DIR}/debian/preinst - fi - bash build_debpackage.sh ${QT_ROOT} - - sudo dpkg -i ../calendar_*_amd64.deb - echo "test ......" - ./test/test_linux.sh - - #因为上面 dpgk 已安装好了,所以不需要设置下面的环境变量 - #export LD_LIBRARY_PATH=`pwd`/debian/calendar/opt/Calendar/bin:`pwd`/debian/calendar/opt/Calendar/lib:${QT_ROOT}/bin:${QT_ROOT}/lib:$LD_LIBRARY_PATH - - cd debian/calendar/opt - - URL_LINUXDEPLOYQT=https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage - wget -c -nv ${URL_LINUXDEPLOYQT} -O linuxdeployqt.AppImage - chmod a+x linuxdeployqt.AppImage - - cd Calendar - ../linuxdeployqt.AppImage share/applications/*.desktop \ - -qmake=${QT_ROOT}/bin/qmake -appimage -no-copy-copyright-files -verbose - - # Create appimage install package - #cp ../Calendar-${VERSION}-x86_64.AppImage . - cp $SOURCE_DIR/Install/install.sh . - cp $RabbitCommon_DIR/Install/install1.sh . - ln -s Calendar-${VERSION}-x86_64.AppImage Calendar-x86_64.AppImage - tar -czf Calendar_${VERSION}.tar.gz \ - Calendar-${VERSION}-x86_64.AppImage \ - Calendar-x86_64.AppImage \ - share \ - install.sh \ - install1.sh - - # Create update.xml - MD5=`md5sum $SOURCE_DIR/../calendar_*_amd64.deb|awk '{print $1}'` - echo "MD5:${MD5}" - ./bin/CalendarApp \ - -f "`pwd`/update_linux.xml" \ - --md5 ${MD5} \ - -m "${VERSION}" - - MD5=`md5sum Calendar_${VERSION}.tar.gz|awk '{print $1}'` - ./Calendar-x86_64.AppImage \ - -f "`pwd`/update_linux_appimage.xml" \ - --md5 ${MD5} \ - --url "https://github.com/KangLin/Calendar/releases/download/${VERSION}/Calendar_${VERSION}.tar.gz" \ - -m "v1.0.4" - - if [ "$TRAVIS_TAG" != "" \ - -a "$DOWNLOAD_QT" = "APT" \ - -a -z "$GENERATORS" ]; then - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh - chmod u+x upload.sh - ./upload.sh $SOURCE_DIR/../calendar_*_amd64.deb - ./upload.sh update_linux.xml update_linux_appimage.xml - ./upload.sh Calendar_${VERSION}.tar.gz - fi - exit 0 -fi - -if [ -n "$GENERATORS" ]; then - if [ -n "${STATIC}" ]; then - CONFIG_PARA="-DBUILD_SHARED_LIBS=${STATIC}" - fi - if [ -n "${ANDROID_ARM_NEON}" ]; then - CONFIG_PARA="${CONFIG_PARA} -DANDROID_ARM_NEON=${ANDROID_ARM_NEON}" - fi - if [ "${BUILD_TARGERT}" = "android" ]; then - if [ -d "$ThirdLibs_DIR" ]; then - CONFIG_PARA="${CONFIG_PARA} -DOPENSSL_ROOT_DIR=$ThirdLibs_DIR" - fi - cmake -G"${GENERATORS}" ${SOURCE_DIR} ${CONFIG_PARA} \ - -DCMAKE_INSTALL_PREFIX=`pwd`/android-build \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DQt5_DIR=${QT_ROOT}/lib/cmake/Qt5 \ - -DQt5Core_DIR=${QT_ROOT}/lib/cmake/Qt5Core \ - -DQt5Gui_DIR=${QT_ROOT}/lib/cmake/Qt5Gui \ - -DQt5Widgets_DIR=${QT_ROOT}/lib/cmake/Qt5Widgets \ - -DQt5Xml_DIR=${QT_ROOT}/lib/cmake/Qt5Xml \ - -DQt5Sql_DIR=${QT_ROOT}/lib/cmake/Qt5Sql \ - -DQt5Network_DIR=${QT_ROOT}/lib/cmake/Qt5Network \ - -DQt5Multimedia_DIR=${QT_ROOT}/lib/cmake/Qt5Multimedia \ - -DQt5LinguistTools_DIR=${QT_ROOT}/lib/cmake/Qt5LinguistTools \ - -DQt5AndroidExtras_DIR=${QT_ROOT}/lib/cmake/Qt5AndroidExtras \ - -DANDROID_PLATFORM=${ANDROID_API} \ - -DANDROID_ABI="${BUILD_ARCH}" \ - -DCMAKE_MAKE_PROGRAM=make \ - -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake - else - cmake -G"${GENERATORS}" ${SOURCE_DIR} ${CONFIG_PARA} \ - -DCMAKE_INSTALL_PREFIX=`pwd`/install \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DQt5_DIR=${QT_ROOT}/lib/cmake/Qt5 - fi - cmake --build . --config Release -- ${RABBIT_MAKE_JOB_PARA} - cmake --build . --config Release --target install -else - if [ "ON" = "${STATIC}" ]; then - CONFIG_PARA="CONFIG*=static" - fi - if [ "${BUILD_TARGERT}" = "android" ]; then - if [ -d "$ThirdLibs_DIR" ]; then - CONFIG_PARA="${CONFIG_PARA} OPENSSL_ROOT_DIR=$ThirdLibs_DIR" - fi - - echo "${QT_ROOT}/bin/qmake ${SOURCE_DIR} CONFIG+=release ${CONFIG_PARA} ANDROID_ABIS=$BUILD_ARCH" - if version_ge $QT_VERSION_DIR 5.14 ; then - ${QT_ROOT}/bin/qmake ${SOURCE_DIR} \ - "CONFIG+=Release" ${CONFIG_PARA} ANDROID_ABIS="$BUILD_ARCH" - else - ${QT_ROOT}/bin/qmake ${SOURCE_DIR} \ - "CONFIG+=Release" ${CONFIG_PARA} - fi - $MAKE - $MAKE install INSTALL_ROOT=`pwd`/android-build - else - ${QT_ROOT}/bin/qmake ${SOURCE_DIR} \ - "CONFIG+=Release" ${CONFIG_PARA}\ - PREFIX=`pwd`/install - - $MAKE - echo "$MAKE install ...." - $MAKE install - fi -fi - -# Install package -if [ "${BUILD_TARGERT}" = "windows_msvc" ]; then - if [ "${BUILD_ARCH}" = "x86" ]; then - cp /C/OpenSSL-Win32/bin/libeay32.dll install/bin - cp /C/OpenSSL-Win32/bin/ssleay32.dll install/bin - elif [ "${BUILD_ARCH}" = "x64" ]; then - cp /C/OpenSSL-Win64/bin/libeay32.dll install/bin - cp /C/OpenSSL-Win64/bin/ssleay32.dll install/bin - fi - - if [ -z "${STATIC}" ]; then - "/C/Program Files (x86)/NSIS/makensis.exe" "Install.nsi" - mv Calendar_Setup_${VERSION}.exe Calendar_${VERSION}_Windows_qt${QT_VERSION}_Setup.exe - MD5=`md5sum Calendar_Setup_*.exe|awk '{print $1}'` - echo "MD5:${MD5}" - install/bin/CalendarApp.exe -f "`pwd`/update_windows.xml" --md5 ${MD5} -m "${VERSION}" \ - -u "https://github.com/KangLin/Calendar/releases/download/${VERSION}/Calendar_${VERSION}_Windows_qt${QT_VERSION}_Setup.exe;https://sourceforge.net/projects/rabbitcalendar/files/${VERSION}/Calendar_${VERSION}_Windows_qt${QT_VERSION}_Setup.exe" - #cat update_windows.xml - fi -fi - -if [ ${BUILD_TARGERT} = "android" ]; then - ${QT_ROOT}/bin/androiddeployqt \ - --input `pwd`/App/android-libCalendarApp.so-deployment-settings.json \ - --output `pwd`/android-build \ - --android-platform ${ANDROID_API} \ - --gradle \ - --sign ${RabbitCommon_DIR}/RabbitCommon.keystore rabbitcommon \ - --storepass ${STOREPASS} - APK_FILE=`find . -name "android-build-release-signed.apk"` - APK_NAME=Calendar_${BUILD_ARCH}_${VERSION}.apk - mv -f ${APK_FILE} $SOURCE_DIR/${APK_NAME} - APK_FILE=$SOURCE_DIR/${APK_NAME} - if [ "$TRAVIS_TAG" != "" \ - -a "$QT_VERSION" = "5.12.10" \ - -a "$BUILD_ARCH" = "armeabi-v7a" ]; then - cp $SOURCE_DIR/Update/update_android.xml . - MD5=`md5sum ${APK_FILE} | awk '{print $1}'` - echo "MD5:${MD5}" - sed -i "s/.*${VERSION}.*Release Calendar ${VERSION}.*`date`.*${BUILD_ARCH}.*${MD5}.*<:https\://github.com/KangLin/Calendar/releases/download/${VERSION}/${APK_NAME}<:g" update_android.xml - sed -i "s/.*${VERSION} $SCRIPT -function Controller() { - installer.autoRejectMessageBoxes(); - installer.installationFinished.connect(function() { - gui.clickButton(buttons.NextButton); - }); -} - -function log() { - var msg = ["QTCI: "].concat([].slice.call(arguments)); - - console.log(msg.join(" ")); -} - -Controller.prototype.WelcomePageCallback = function() { - gui.clickButton(buttons.NextButton, 3000); -} - -Controller.prototype.CredentialsPageCallback = function() { - var login = installer.environmentVariable("QT_USER"); - var password = installer.environmentVariable("QT_PASSWORD"); - if( login === "" || password === "" ) { - console.log("No credentials provided - could stuck here forever"); - gui.clickButton(buttons.CommitButton); - } - var widget = gui.currentPageWidget(); - widget.loginWidget.EmailLineEdit.setText(login); - widget.loginWidget.PasswordLineEdit.setText(password); - gui.clickButton(buttons.CommitButton); -} - -Controller.prototype.ComponentSelectionPageCallback = function() { - var components = installer.components(); - log("Available components: " + components.length); - for (var i = 0 ; i < components.length ;i++) { - log(components[i].name); - } - log("Select components"); - function trim(str) { - return str.replace(/^ +/,"").replace(/ *$/,""); - } - var widget = gui.currentPageWidget(); - widget.deselectAll(); - var packages = trim("$SELECTEDPACKAGES").split(","); - if (packages.length > 0 && packages[0] !== "") { - - for (var i in packages) { - var pkg = trim(packages[i]); - for (var i = 0 ; i < components.length ;i++) { - if(components[i].name.indexOf(pkg) != -1) - { - log("Select " + components[i].name); - widget.selectComponent(trim(components[i].name)); - } - } - } - } else { - log("Use default component list"); - } - - gui.clickButton(buttons.NextButton); -} - -Controller.prototype.IntroductionPageCallback = function() { - gui.clickButton(buttons.NextButton); -} - - -Controller.prototype.TargetDirectoryPageCallback = function() { - var widget = gui.currentPageWidget(); - - if (widget != null) { - widget.TargetDirectoryLineEdit.setText("$OUTPUT"); - } - - gui.clickButton(buttons.NextButton); - -} - -Controller.prototype.LicenseAgreementPageCallback = function() { - var widget = gui.currentPageWidget(); - - if (widget != null) { - widget.AcceptLicenseRadioButton.setChecked(true); - } - - gui.clickButton(buttons.NextButton); -} - -Controller.prototype.StartMenuDirectoryPageCallback = function() { - gui.clickButton(buttons.CommitButton); -} - -Controller.prototype.ReadyForInstallationPageCallback = function() { - gui.clickButton(buttons.CommitButton); -} - -Controller.prototype.FinishedPageCallback = function() { - var widget = gui.currentPageWidget(); - widget.LaunchQtCreatorCheckBoxForm.launchQtCreatorCheckBox.setChecked(false); - gui.clickButton(buttons.FinishButton); -} -EOF - -chmod u+x $1 -#显示log -$1 -v --script $SCRIPT -#不显示log -#$1 --script $SCRIPT diff --git a/deploy.sh b/deploy.sh index 9f49f1e8..bee6c603 100755 --- a/deploy.sh +++ b/deploy.sh @@ -32,9 +32,8 @@ fi sed -i "s/^\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"${VERSION}\"/g" ${SOURCE_DIR}/Install/Install.nsi sed -i "s/ set(Calendar_VERSION .*/ set(Calendar_VERSION \"${VERSION}\")/g" ${SOURCE_DIR}/CMakeLists.txt #sed -i "s/^\ Calendar_VERSION=.*/\ Calendar_VERSION=\"${VERSION}\"/g" ${SOURCE_DIR}/pri/Common.pri -sed -i "s/export VERSION=.*/export VERSION=\"${VERSION}\"/g" ${SOURCE_DIR}/ci/build.sh sed -i "s/^version: '.*{build}'/version: '${VERSION}.{build}'/g" ${SOURCE_DIR}/appveyor.yml -sed -i "s/Calendar_VERSION:.*/Calendar_VERSION: \"${VERSION}\"/g" ${SOURCE_DIR}/appveyor.yml +sed -i "s/CalendarVersion:.*/CalendarVersion: \"${VERSION}\"/g" ${SOURCE_DIR}/appveyor.yml sed -i "s/export VERSION=.*/export VERSION=\"${VERSION}\"/g" ${SOURCE_DIR}/.travis.yml sed -i "s/Calendar_VERSION:.*/Calendar_VERSION: ${VERSION}/g" ${SOURCE_DIR}/.github/workflows/msvc.yml sed -i "s/Calendar_VERSION:.*/Calendar_VERSION: ${VERSION}/g" ${SOURCE_DIR}/.github/workflows/mingw.yml