From a454a7dafe40a4e39173f114c35f2265b28e0c7d Mon Sep 17 00:00:00 2001 From: Atul R Date: Sun, 8 Mar 2020 17:18:53 +0100 Subject: [PATCH] bumps artifact installer --- config/qtConfig.js | 20 +++++++++++++++++--- package-lock.json | 12 +++--------- package.json | 2 +- scripts/setupMiniQt.js | 1 + 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/config/qtConfig.js b/config/qtConfig.js index 3226fc1a4..2c601abe7 100644 --- a/config/qtConfig.js +++ b/config/qtConfig.js @@ -1,52 +1,66 @@ const os = require('os'); const path = require('path'); +const fs = require('fs'); const SETUP_DIR = path.resolve(__dirname, '..', 'miniqt'); const QT_VERSION = '5.14.1'; +const checkIfExists = fullPath => { + return () => fs.existsSync(fullPath); +}; + function getMiniQtConfig() { switch (os.platform()) { case 'darwin': { + const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'clang_64'); return { - qtHome: path.resolve(SETUP_DIR, QT_VERSION, 'clang_64'), + qtHome, artifacts: [ { name: 'Qt Base', link: `https://download.qt.io/online/qtsdkrepository/mac_x64/desktop/qt5_5141/qt.qt5.5141.clang_64/5.14.1-0-202001241000qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'plugins', 'platforms', 'libqcocoa.dylib')), }, { name: 'Qt Tools', link: `https://download.qt.io/online/qtsdkrepository/mac_x64/desktop/qt5_5141/qt.qt5.5141.clang_64/5.14.1-0-202001241000qttools-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'macdeployqt')), }, ], }; } case 'win32': { + const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'msvc2017_64'); return { - qtHome: path.resolve(SETUP_DIR, QT_VERSION, 'msvc2017_64'), + qtHome, artifacts: [ { name: 'Qt Base', link: `https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5141/qt.qt5.5141.win64_msvc2017_64/5.14.1-0-202001240957qtbase-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'Qt5Core.dll')), }, { name: 'Qt Tools', link: `https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5141/qt.qt5.5141.win64_msvc2017_64/5.14.1-0-202001240957qttools-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86_64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'windeployqt.exe')), }, ], }; } case 'linux': { + const qtHome = path.resolve(SETUP_DIR, QT_VERSION, 'gcc_64'); return { - qtHome: path.resolve(SETUP_DIR, QT_VERSION, 'gcc_64'), + qtHome, artifacts: [ { name: 'Qt Base', link: `https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5141/qt.qt5.5141.gcc_64/5.14.1-0-202001240953qtbase-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'bin', 'moc')), }, { name: 'Qt ICU', link: `https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5141/qt.qt5.5141.gcc_64/5.14.1-0-202001240953icu-linux-Rhel7.2-x64.7z`, + skipSetup: checkIfExists(path.resolve(qtHome, 'lib', 'libicuuc.so')), }, ], }; diff --git a/package-lock.json b/package-lock.json index 64d992f54..aae2888fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -839,12 +839,11 @@ } }, "@nodegui/artifact-installer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nodegui/artifact-installer/-/artifact-installer-1.0.0.tgz", - "integrity": "sha512-qKtlsXgO/fNppgVfkuTkHmgALZQgppjvJ5XJg3+J90SeIQBri1KRk8H/3CgKL/MmXsDJkvWftQrX9BmZ9uKv+Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nodegui/artifact-installer/-/artifact-installer-1.1.0.tgz", + "integrity": "sha512-x/rIewhjnLhf2b3lAy5ZIPSTS39LRpwMTKeEg6sn4RwvWwyNmreGzpvGi6Gkbl6FUpftn70nfOBOpaeO3hO8PQ==", "requires": { "7zip-min": "^1.1.1", - "empty-dir": "^2.0.0", "env-paths": "^2.2.0", "make-dir": "^3.0.0", "node-fetch": "^2.6.0", @@ -2343,11 +2342,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "empty-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/empty-dir/-/empty-dir-2.0.0.tgz", - "integrity": "sha512-XAedXlNAQZxMmbllXY9cxuESlNVjZ8xd67bSIUZwbS7VoLyhlNehVN3Iy35yDTGFHKR1opBRgORkp3am0so+WQ==" - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", diff --git a/package.json b/package.json index 43518178e..010bdc1ba 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "qode": "cross-env node ./scripts/qode.js" }, "dependencies": { - "@nodegui/artifact-installer": "^1.0.0", + "@nodegui/artifact-installer": "^1.1.0", "@nodegui/qode": "^2.0.4", "cmake-js": "^6.0.0", "cross-env": "^7.0.0", diff --git a/scripts/setupMiniQt.js b/scripts/setupMiniQt.js index 832063995..77f6b2b3b 100644 --- a/scripts/setupMiniQt.js +++ b/scripts/setupMiniQt.js @@ -11,6 +11,7 @@ async function setupQt() { id: 'nodegui-mini-qt', displayName: `${artifact.name} for Minimal Qt: ${miniQt.version} installation`, downloadLink: artifact.link, + skipSetup: artifact.skipSetup, }), ), );