From a09a59cc1661ecc388c4129d30c2df5681baa1da Mon Sep 17 00:00:00 2001 From: Doronin Stanislav Date: Thu, 29 Feb 2024 12:03:12 +0300 Subject: [PATCH] refined build script --- .github/workflows/build.yml | 30 ++++-------------------------- build.bat | 25 ++++--------------------- build.pbat | 23 +++++------------------ install-mysql.bat | 14 ++++++++++++++ install-mysql.pbat | 5 +++++ install-qsqlmysql.bat | 16 ++++++++++++++++ install-qsqlmysql.pbat | 7 +++++++ install-qwt.bat | 14 ++++++++++++++ install-qwt.pbat | 5 +++++ 9 files changed, 74 insertions(+), 65 deletions(-) create mode 100644 install-mysql.bat create mode 100644 install-mysql.pbat create mode 100644 install-qsqlmysql.bat create mode 100644 install-qsqlmysql.pbat create mode 100644 install-qwt.bat create mode 100644 install-qwt.pbat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index debf070..0eeda17 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,36 +15,14 @@ jobs: if not exist "C:\Qt\Tools\mingw810_64\bin\gcc.exe" aqt install-tool windows desktop tools_mingw qt.tools.win64_mingw810 -O C:\Qt where pyfind || pip install mugicli where mugideploy || pip install mugideploy - - name: qsqlmysql - shell: cmd - run: | - set PATH=C:\Program Files\PostgreSQL\14\bin;C:\Qwt-6.2.0\lib;C:\mysql-8.2.0-winx64\bin;C:\mysql-8.2.0-winx64\lib;C:\Miniconda3;C:\Miniconda3\Scripts;%USERPROFILE%\Miniconda3;%USERPROFILE%\Miniconda3\Scripts;C:\Qt\5.15.2\mingw81_64\bin;C:\Qt\Tools\mingw810_64\bin;%PATH% - if exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" goto qsqlmysql_end - curl -L -o qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qsqlmysql-builds/releases/download/5.15.2/qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip - if not exist qsqlmysql-qt5.15.2-mingw8.1.0-x86_64 7z x -y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip - copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysql.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers - copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysqld.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers - :qsqlmysql_end - - name: qwt - shell: cmd - run: | - set PATH=C:\Program Files\PostgreSQL\14\bin;C:\Qwt-6.2.0\lib;C:\mysql-8.2.0-winx64\bin;C:\mysql-8.2.0-winx64\lib;C:\Miniconda3;C:\Miniconda3\Scripts;%USERPROFILE%\Miniconda3;%USERPROFILE%\Miniconda3\Scripts;C:\Qt\5.15.2\mingw81_64\bin;C:\Qt\Tools\mingw810_64\bin;%PATH% - if exist "C:\Qwt-6.2.0\lib\qwt.dll" goto qwt_end - curl -L -o qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qwt-builds/releases/download/qwt6.2.0-qt5.15.2/qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip - 7z x -y -oC:\ qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip - :qwt_end - - name: mysql - shell: cmd - run: | - set PATH=C:\Program Files\PostgreSQL\14\bin;C:\Qwt-6.2.0\lib;C:\mysql-8.2.0-winx64\bin;C:\mysql-8.2.0-winx64\lib;C:\Miniconda3;C:\Miniconda3\Scripts;%USERPROFILE%\Miniconda3;%USERPROFILE%\Miniconda3\Scripts;C:\Qt\5.15.2\mingw81_64\bin;C:\Qt\Tools\mingw810_64\bin;%PATH% - if exist C:\mysql-8.2.0-winx64\bin\mysql.exe goto mysql_end - curl -L -o mysql-8.2.0-winx64.zip https://cdn.mysql.com/Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip - 7z x -y -oC:\ mysql-8.2.0-winx64.zip - :mysql_end + if not exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" call install-qsqlmysql + if not exist "C:\Qwt-6.2.0\lib\qwt.dll" call install-qwt + if not exist "C:\mysql-8.2.0-winx64\bin\mysql.exe" call install-mysql - name: build shell: cmd run: | set PATH=C:\Program Files\PostgreSQL\14\bin;C:\Qwt-6.2.0\lib;C:\mysql-8.2.0-winx64\bin;C:\mysql-8.2.0-winx64\lib;C:\Miniconda3;C:\Miniconda3\Scripts;%USERPROFILE%\Miniconda3;%USERPROFILE%\Miniconda3\Scripts;C:\Qt\5.15.2\mingw81_64\bin;C:\Qt\Tools\mingw810_64\bin;%PATH% + echo building mugi-query mugideploy version qmake mingw32-make release -j4 diff --git a/build.bat b/build.bat index b318a42..525687a 100644 --- a/build.bat +++ b/build.bat @@ -6,32 +6,15 @@ if not defined P7Z ( echo P7Z not found exit /b ) -if exist "C:\Program Files\Git\mingw32\bin\curl.exe" set CURL=C:\Program Files\Git\mingw32\bin\curl.exe -if exist "C:\Program Files\Git\mingw64\bin\curl.exe" set CURL=C:\Program Files\Git\mingw64\bin\curl.exe -if exist "C:\Windows\System32\curl.exe" set CURL=C:\Windows\System32\curl.exe -if not defined CURL ( -echo CURL not found -exit /b -) where aqt || pip install aqtinstall if not exist "C:\Qt\5.15.2\mingw81_64\bin\qmake.exe" aqt install-qt windows desktop 5.15.2 win64_mingw81 -O C:\Qt if not exist "C:\Qt\Tools\mingw810_64\bin\gcc.exe" aqt install-tool windows desktop tools_mingw qt.tools.win64_mingw810 -O C:\Qt where pyfind || pip install mugicli where mugideploy || pip install mugideploy -if exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" goto qsqlmysql_end -if not exist qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip "%CURL%" -L -o qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qsqlmysql-builds/releases/download/5.15.2/qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip -if not exist qsqlmysql-qt5.15.2-mingw8.1.0-x86_64 "%P7Z%" x -y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip -copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysql.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers -copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysqld.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers -:qsqlmysql_end -if exist "C:\Qwt-6.2.0\lib\qwt.dll" goto qwt_end -if not exist qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip "%CURL%" -L -o qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qwt-builds/releases/download/qwt6.2.0-qt5.15.2/qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip -"%P7Z%" x -y -oC:\ qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip -:qwt_end -if exist C:\mysql-8.2.0-winx64\bin\mysql.exe goto mysql_end -if not exist mysql-8.2.0-winx64.zip "%CURL%" -L -o mysql-8.2.0-winx64.zip https://cdn.mysql.com/Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip -"%P7Z%" x -y -oC:\ mysql-8.2.0-winx64.zip -:mysql_end +if not exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" call install-qsqlmysql +if not exist "C:\Qwt-6.2.0\lib\qwt.dll" call install-qwt +if not exist "C:\mysql-8.2.0-winx64\bin\mysql.exe" call install-mysql +echo building mugi-query mugideploy version qmake mingw32-make release -j4 diff --git a/build.pbat b/build.pbat index 95a2fa9..6201123 100644 --- a/build.pbat +++ b/build.pbat @@ -9,25 +9,12 @@ def main install(mingw, 8.1.0) install(mugicli) install(mugideploy) - -def qsqlmysql - if exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" goto qsqlmysql_end - download(https://github.com/mugiseyebrows/qsqlmysql-builds/releases/download/5.15.2/qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip, qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip) - unzip(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip, qsqlmysql-qt5.15.2-mingw8.1.0-x86_64) - copy_file(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysql.dll, C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers) - copy_file(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysqld.dll, C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers) - -def qwt - if exist "C:\Qwt-6.2.0\lib\qwt.dll" goto qwt_end - download(https://github.com/mugiseyebrows/qwt-builds/releases/download/qwt6.2.0-qt5.15.2/qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip, qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip) - unzip(qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip, :o=C:\) - -def mysql - if exist C:\mysql-8.2.0-winx64\bin\mysql.exe goto mysql_end - download(https://cdn.mysql.com/Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip, mysql-8.2.0-winx64.zip) - unzip(mysql-8.2.0-winx64.zip, :o=C:\) + if not exist "C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers\qsqlmysql.dll" call install-qsqlmysql + if not exist "C:\Qwt-6.2.0\lib\qwt.dll" call install-qwt + if not exist "C:\mysql-8.2.0-winx64\bin\mysql.exe" call install-mysql def build + echo building mugi-query mugideploy version qmake mingw32-make release -j4 @@ -35,7 +22,7 @@ def build github_upload(mugi-query-*-win64, :n=mugi-query-win64) github_release(mugi-query-*-win64.zip) -order main qsqlmysql qwt mysql build +order main build github-workflow 1 github-image windows-latest diff --git a/install-mysql.bat b/install-mysql.bat new file mode 100644 index 0000000..95a286d --- /dev/null +++ b/install-mysql.bat @@ -0,0 +1,14 @@ +@echo off +rem This file is generated from install-mysql.pbat, all edits will be lost +set PATH=C:\Program Files\7-Zip;%PATH% +if exist "C:\Program Files\Git\mingw32\bin\curl.exe" set CURL=C:\Program Files\Git\mingw32\bin\curl.exe +if exist "C:\Program Files\Git\mingw64\bin\curl.exe" set CURL=C:\Program Files\Git\mingw64\bin\curl.exe +if exist "C:\Windows\System32\curl.exe" set CURL=C:\Windows\System32\curl.exe +if not defined CURL ( +echo CURL not found +exit /b +) +echo downloading mysql-8.2.0 +if not exist mysql-8.2.0-winx64.zip "%CURL%" -L -o mysql-8.2.0-winx64.zip https://cdn.mysql.com/Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip +echo installing mysql-8.2.0 +7z x -y -oC:\ mysql-8.2.0-winx64.zip \ No newline at end of file diff --git a/install-mysql.pbat b/install-mysql.pbat new file mode 100644 index 0000000..bb67c4a --- /dev/null +++ b/install-mysql.pbat @@ -0,0 +1,5 @@ +use(7z) +echo downloading mysql-8.2.0 +download(https://cdn.mysql.com/Downloads/MySQL-8.2/mysql-8.2.0-winx64.zip, mysql-8.2.0-winx64.zip) +echo installing mysql-8.2.0 +unzip(mysql-8.2.0-winx64.zip, :o=C:\) \ No newline at end of file diff --git a/install-qsqlmysql.bat b/install-qsqlmysql.bat new file mode 100644 index 0000000..0f6aecc --- /dev/null +++ b/install-qsqlmysql.bat @@ -0,0 +1,16 @@ +@echo off +rem This file is generated from install-qsqlmysql.pbat, all edits will be lost +set PATH=C:\Program Files\7-Zip;%PATH% +if exist "C:\Program Files\Git\mingw32\bin\curl.exe" set CURL=C:\Program Files\Git\mingw32\bin\curl.exe +if exist "C:\Program Files\Git\mingw64\bin\curl.exe" set CURL=C:\Program Files\Git\mingw64\bin\curl.exe +if exist "C:\Windows\System32\curl.exe" set CURL=C:\Windows\System32\curl.exe +if not defined CURL ( +echo CURL not found +exit /b +) +echo downloading qsqlmysql +if not exist qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip "%CURL%" -L -o qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qsqlmysql-builds/releases/download/5.15.2/qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip +echo installing qsqlmysql +if not exist qsqlmysql-qt5.15.2-mingw8.1.0-x86_64 7z x -y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip +copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysql.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers +copy /y qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysqld.dll C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers \ No newline at end of file diff --git a/install-qsqlmysql.pbat b/install-qsqlmysql.pbat new file mode 100644 index 0000000..d46ecfb --- /dev/null +++ b/install-qsqlmysql.pbat @@ -0,0 +1,7 @@ +use(7z) +echo downloading qsqlmysql +download(https://github.com/mugiseyebrows/qsqlmysql-builds/releases/download/5.15.2/qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip, qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip) +echo installing qsqlmysql +unzip(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64.zip, qsqlmysql-qt5.15.2-mingw8.1.0-x86_64) +copy_file(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysql.dll, C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers) +copy_file(qsqlmysql-qt5.15.2-mingw8.1.0-x86_64\qsqlmysqld.dll, C:\Qt\5.15.2\mingw81_64\plugins\sqldrivers) \ No newline at end of file diff --git a/install-qwt.bat b/install-qwt.bat new file mode 100644 index 0000000..b281f28 --- /dev/null +++ b/install-qwt.bat @@ -0,0 +1,14 @@ +@echo off +rem This file is generated from install-qwt.pbat, all edits will be lost +set PATH=C:\Program Files\7-Zip;%PATH% +if exist "C:\Program Files\Git\mingw32\bin\curl.exe" set CURL=C:\Program Files\Git\mingw32\bin\curl.exe +if exist "C:\Program Files\Git\mingw64\bin\curl.exe" set CURL=C:\Program Files\Git\mingw64\bin\curl.exe +if exist "C:\Windows\System32\curl.exe" set CURL=C:\Windows\System32\curl.exe +if not defined CURL ( +echo CURL not found +exit /b +) +echo downloading qwt +if not exist qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip "%CURL%" -L -o qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip https://github.com/mugiseyebrows/qwt-builds/releases/download/qwt6.2.0-qt5.15.2/qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip +echo installing qwt +7z x -y -oC:\ qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip \ No newline at end of file diff --git a/install-qwt.pbat b/install-qwt.pbat new file mode 100644 index 0000000..2d9df68 --- /dev/null +++ b/install-qwt.pbat @@ -0,0 +1,5 @@ +use(7z) +echo downloading qwt +download(https://github.com/mugiseyebrows/qwt-builds/releases/download/qwt6.2.0-qt5.15.2/qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip, qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip) +echo installing qwt +unzip(qwt6.2.0-qt5.15.2-mingw8.1.0-x86_64.zip, :o=C:\) \ No newline at end of file