summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ScriptEngine: Make import functionality exception safeChristian Kandeler2023-04-288-29/+69
| | | | | | Fixes: QBS-1730 Change-Id: I83324b7d859412580213dc4eb9f1f60e0f9063f2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Update changelogIvan Komissarov2023-04-221-2/+6
| | | | | Change-Id: Ib0ff20ea53c0ba3620338f7615ccd92f3e5fa82d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix compiler warningChristian Kandeler2023-04-171-0/+1
| | | | | Change-Id: I16c1373e21db71a47be45bfebaeca91084e1b067 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix build with Qt6.5Björn Schäpers2023-04-141-1/+1
| | | | | | | | | | QDomDocument::setContent received new overloads which do not return a bool, but a QDomDocument::ParseResult, which can be converted to bool. Thus the static_cast is enough and shouldn't bother builds with Qt < 6.5. Change-Id: I2ef334503b853adc6fe54fd739321b22a4ba6721 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* mingw: workaround for cpp.minimumWindowsVersionIvan Komissarov2023-04-113-3/+6
| | | | | | | | | | | | It seems that mingw is broken and produces invalid binaries when using cpp.minimumWindowsVersion >= 6.3. Also, update minimumSystemVersion test to use 6.2 aka Windows 8. Task-number: QBS-1724 Change-Id: Icea9b21ce6c3b7709495a28114a8c933a88b4647 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* apple: fix embeddedProfileNameIvan Komissarov2023-04-111-1/+1
| | | | | | | Task-number: QBS-1722 Change-Id: Ia6bc6dc4397a613956f27f70ba522c89f7fdbc3e Reviewed-by: Leon Buckel <leon.buckel@clausmark.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* jsengine: do not allow QByteArray as a type for js variantIvan Komissarov2023-04-101-0/+2
| | | | | Change-Id: Ibdc2e764a5db8c4ab8b0afe9aa24c476f1dea1be Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* apple: fix validAfter/validBefore datetimesIvan Komissarov2023-04-091-2/+2
| | | | | | | Should be the other way around. Change-Id: I4658cd197be51dedd4dcc8eac8ed9c9b86bc8544 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* apple: fix sha1 typeIvan Komissarov2023-04-091-2/+2
| | | | | | Fixes: QBS-1722 Change-Id: Ib4d08aaf325a0a0e803b9adaa949a026ad4413ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Only setup Qt in qbspkgconfig when not cross compilingKai Dohmen2023-04-092-1/+5
| | | | | | | | | | When cross compiling the qmake binary pointed to by the pkg-config-file might contain the wrong qmake. For simplicity just deactivate setting up Qt when cross compiling. Fixes: QBS-1717 Change-Id: I1f856b1f8f918ea09b3280c2f672d0f7db2b8f5f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Update changelogChristian Kandeler2023-04-061-0/+3
| | | | | Change-Id: I9c758dcc77aac7cd9e47e75a8c99d41b6f82afaa Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* xcode: add support for xcode 14.3Ivan Komissarov2023-04-063-6/+18
| | | | | Change-Id: Id28155e06744e53f99fdbcdc9f5bf5231a3f511e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* qbs build: Fix qbsbuildconfig moduleChristian Kandeler2023-04-041-1/+1
| | | | | | | | This module does not have an explicit dependency on the Qt module, so there should be no "Qt" identifier in scope. Change-Id: Iafa7e95bdf53e873bb37c9408a1ed93e0b42dc20 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Bump versionChristian Kandeler2023-04-041-1/+1
| | | | | Change-Id: I7c952ea53b009e0ce29c6e4824b5238f9ba70a41 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* grpc: Bump C++ language version in the autotest againv2.0.0Christian Kandeler2023-03-171-1/+1
| | | | | | | The generated code makes use of it these days. Change-Id: I90460a15630cfb55f274da3484d59bf6f1a2e4ec Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* grpc: Fix macOS CI againChristian Kandeler2023-03-171-1/+1
| | | | | Change-Id: I224ace97588400f540f155eed68495345f1d55a9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Remove UBSAN suppressions fileChristian Kandeler2023-03-172-4/+0
| | | | | | | It's not relevant anymore without QtScript. Change-Id: Iafb56f71764f8334a1e983cdb83014ac847deed3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* freedesktop: Rename "name" property to "appName"Christian Kandeler2023-03-154-3/+7
| | | | | | | | | "name" is a built-in property of the Module item that must not be set by users. Astonishingly, this has worked so far due to the way the ModuleLoader code was written. Change-Id: I959bc0bba6b7c17a420fc6201031ab0bf4449292 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Tests: Upgrade the grpc test app to C++14Christian Kandeler2023-03-071-1/+1
| | | | | | | As requested by our macOS CI machines. Change-Id: Ic5ef011585bf89da1f04162a26682308b9291c38 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* cmake: Find qdoc directly instead of relying on qmake pathDmitry Shachnev2023-03-061-19/+3
| | | | | | | | | | | | Qt6ToolsToolsTargets.cmake provides a Qt6::qdoc target, so there is no need to guess qdoc path based on qmake path. It is the same file where Qt6::qhelpgenerator is defined, which we use here too. This fixes build on Debian where we moved Qt6::qmake into a different path to help with cross-building, leaving Qt6::qdoc where it was. Change-Id: I9e66ffafc8aeb18edc1fe2b27608caa4ee90c3f7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Qt/Android: Adapt to 6.4 androiddeployqtChristian Kandeler2023-03-062-3/+8
| | | | | | | Task-number: QTBUG-111558 Change-Id: I728c69635b3946db8a9019fa2fecf076d72d8468 Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Prevent dangling JS valuesChristian Kandeler2023-03-066-21/+31
| | | | | | | | | | | As opposed to QtScript, such values cannot be re-used in QuickJS. This was overlooked in 087c22e17721f37490dd2048a567b6a58065d939. I assume this is the culprit for seemingly random crashes and "not a function" messages we have been seeing sometimes when building with Qt Creator. Change-Id: Ia4e7aed0cda97439ac75db5ecfbf08ff096a02b2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* CMake: Enable exception handling on MSVCOrgad Shaneh2023-02-231-0/+3
| | | | | | | | | | | | Sample warning: Building CXX object src\shared\qbs\src\shared\json\CMakeFiles\qbsjson.dir\json.cpp.obj C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(378): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(371): note: while compiling class template member function 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned __int64)' F:\Projects\qt-creator\qt-creator\src\shared\qbs\src\shared\json\json.cpp(4142): note: see reference to function template instantiation 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned __int64)' being compiled C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(671): note: see reference to class template instantiation 'std::basic_ostream<char,std::char_traits<char>>' being compiled Change-Id: I404cdeb5e447fe880998aaec4c576c0ed6dd3507 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* docker: update Windows imageIvan Komissarov2023-02-214-23/+15
| | | | | | | | | | | | - install latest vs2019 compiler - install latest win10 SDK - add vswhere to simplify searching VS - update Qt to 6.2.4 - update Qbs to 1.24.0 - drop support for 32-bit packages in choco Change-Id: I0a57baf160307b84e62fea5c56687efcce7fe42c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Docs: Do not use .contains()Christian Kandeler2023-02-207-37/+37
| | | | | | | Amends e3522f42773cfbb9a980e859c906457b3571fa1f. Change-Id: If51576f080ee5c01eeae493934cf646403594965 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Prefer built-in JS function in modulesChristian Kandeler2023-02-2066-341/+341
| | | | | | | contains -> includes Change-Id: Id893c2ea0659d9bded4f5cec1a3160ccd802118b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Protobuf: Let users provide extra grpc libs for linkingChristian Kandeler2023-02-163-1/+12
| | | | | | | ... and make use of that in the CI. Change-Id: I7e246e265a311ba24ebd6cde808445039d4c3e93 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Remove documentation for outdated JS extensions to Array and StringChristian Kandeler2023-02-161-24/+0
| | | | | | | | | | | String.{starts,ends}With() are part of ECMAScript 6 and supported directly by QuickJS. {String,Array}.contains() are superseded by ECMAScript's includes(). Deprecating them would needlessly annoy users, but we shouldn't encourage their use either. Change-Id: Ie0828ba0f78b0235e4b0a3127e56dc8fc2cc46dd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Prefer built-in JS function in autotestsChristian Kandeler2023-02-16131-282/+282
| | | | | | | contains -> includes Change-Id: I330b1ee3319399d6c59ce5a4efaf14c642ad361e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* GitHub actions: update macos release jobIvan Komissarov2023-02-151-4/+2
| | | | | Change-Id: Ie3b62927baf9009666e4f69ef87a0205a1e512f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Build Qbs with Qt 6 by defaultIvan Komissarov2023-02-153-27/+22
| | | | | Change-Id: I78ca74c27ccea64331a0995a0e611b8c79411fcb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt support: correctly set minimum windows version for Qt6Ivan Komissarov2023-02-141-1/+1
| | | | | | | | According to the doc, Win 7 was dropped in 6.0 https://doc.qt.io/archives/qt-6.0/supported-platforms.html Change-Id: I34f7501b7348bb658998b713b1ee08e53e91cb95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* install-qt.sh: fix mingw install dirIvan Komissarov2023-02-141-2/+6
| | | | | | | | The installation directory for mingw 9.0 was detected incorrectly which lead to the fact we used the wrong compiler in CI. Change-Id: I4635dde0cf68eacc8436e6393609162e15add418 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove dangling link to unused hostOS propertyRichard Weickelt2023-02-141-2/+0
| | | | | | | | | | The hostOS property was taken out of the qbs module and replaced by the os property of the Host service. The whole bullet point is no longer valid. Change-Id: Ia35a51dffc7b7593e896b754f741cf12aab71db3 Fixes: QBS-1716 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* PropertyList: Do not return undefined from toObject()Christian Kandeler2023-02-101-1/+3
| | | | | | Change-Id: Ie1981dd23ca5a4d35a9f63d84efce30c5eed01f4 Reviewed-by: Maximilian Hrabowski <maximilian.hrabowski@bee360.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* codesign: Add missing check for undefined valueChristian Kandeler2023-02-101-1/+3
| | | | | Change-Id: I68424e794138982f71c3340cc4aba8227403abb8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* doc: fix typoIvan Komissarov2023-02-081-1/+1
| | | | | Change-Id: Icaa492b0fee01d37a4cf1940e6d8f456b532abbc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add change log for 2.0.0Christian Kandeler2023-02-071-0/+16
| | | | | Change-Id: If93dc493a982247ed20c93df90ffebbc05bb64d5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Switch JavaScript back-endChristian Kandeler2023-02-07149-6077/+75512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer clang versions seem to expose serious bugs in QtScript, whose complexity makes it difficult to track them down. We therefore switch to the more light-weight QuickJS, which offers all the features we need (most notably property access interception), as well as good performance. To save some porting effort, we removed the long-deprecated loadFile() and loadExtension() functions. During the porting procedure, we noticed and fixed thread safety issues in artifact access from JS commands. We consider this change important enough to bump the major version, so the next release will be 2.0. Detailed benchmarking data is below. In summary, we see a modest speed- up at the cost of a similarly modest increase in memory consumption (with the exception of project resolving on macOS, which has become a bit slower). Importantly, the increase does not rise with project size, as the comparison of qbs vs Qt Creator shows. Output of qbs_benchmarker on Linux with qbs as test project: ========== Performance data for Resolving ========== Old instruction count: 12870602895 New instruction count: 11923459780 Relative change: -8 % Old peak memory usage: 61775848 Bytes New peak memory usage: 67583424 Bytes Relative change: +9 % ========== Performance data for Rule Execution ========== Old instruction count: 4074062223 New instruction count: 3887473574 Relative change: -5 % Old peak memory usage: 35123704 Bytes New peak memory usage: 38398392 Bytes Relative change: +9 % ========== Performance data for Null Build ========== Old instruction count: 1104417596 New instruction count: 1011033948 Relative change: -9 % Old peak memory usage: 24461824 Bytes New peak memory usage: 25325920 Bytes Relative change: +3 % Output of qbs_benchmarker on Linux with Qt Creator as test project: ========== Performance data for Resolving ========== Old instruction count: 67166450352 New instruction count: 60772791018 Relative change: -10 % Old peak memory usage: 327011616 Bytes New peak memory usage: 343724176 Bytes Relative change: +5 % ========== Performance data for Rule Execution ========== Old instruction count: 71684351183 New instruction count: 67051936965 Relative change: -7 % Old peak memory usage: 374913688 Bytes New peak memory usage: 387790992 Bytes Relative change: +3 % ========== Performance data for Null Build ========== Old instruction count: 8383156078 New instruction count: 7930705668 Relative change: -6 % Old peak memory usage: 180468360 Bytes New peak memory usage: 182490384 Bytes Relative change: +1 % Real-world data building Qt Creator (using qbs --log-time, several runs, removing outliers): macOS: Resolving: 43s -> 47s Rule execution: 17s -> 14s Windows: Resolving: 18s -> 16s Rule execution: 22s -> 17s Fixes: QBS-913 Fixes: QBS-1103 Fixes: QBS-1126 Fixes: QBS-1227 Fixes: QBS-1684 Change-Id: Ie5088155026e85bbd1e303f1c67addb15810a3cb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* GitHub actions: add UBSAN jobIvan Komissarov2023-01-314-1/+17
| | | | | Change-Id: Ib98b51305b491f3c1b54af2bf03738df08c5f789 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.24 into masterChristian Kandeler2023-01-274-2/+15
|\ | | | | | | Change-Id: I2414c0eaf431386e3d529d03fff19f2a589a2aa4
| * Add changelog for 1.24.1v1.24.11.24Christian Kandeler2023-01-271-0/+9
| | | | | | | | | | Change-Id: I7cd0a918d8dcabb2c98b7b801e46b7eb950adfcd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * CMake build: Limit hack for CMake < 3.18 to CMake < 3.18Eike Ziller2023-01-241-1/+3
| | | | | | | | | | Change-Id: I513f1b5fb9730639962a9a123f77525cd552211c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * IAR: Fix compiler macros and include paths retrievalChristian Kandeler2022-12-241-0/+2
| | | | | | | | | | | | Written-by: Denis Shienkov <denis.shienkov@gmail.com> Change-Id: I2a11dcd11a98300035ccac8d5872d15f46d18299 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| * Bump versionChristian Kandeler2022-11-281-1/+1
| | | | | | | | | | Change-Id: Ib9b0af57a56c891f6e97d21d7da3fd4c7b6120b5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Remove "undefined" subdirectory in share's install-rootOrgad Shaneh2023-01-231-1/+1
| | | | | | | | | | Change-Id: Iac1ebe56f343158d090531ea27e9e15814741706 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | GitHub actions: make ASAN build a separate jobIvan Komissarov2023-01-102-2/+10
| | | | | | | | | | | | | | | | | | | | We might want to add UB sanitizer job in the future. Also, this should speed up linux test jobs such as Android that currently use ASAN binaries. Change-Id: I277c5d2713d88b5e706f76b7a098f82d3f9483f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | RIP QMake buildIvan Komissarov2022-12-1693-2403/+0
| | | | | | | | | | | | | | | | | | | | We have been supported CMake build for quite some time so users should have plenty of time to adapt. Ubuntu, Brew and macports also use CMake for building QBS. Change-Id: Ib78177f4a7ca8cdea1a2f3a8eac8bfe804674f32 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.24 into masterChristian Kandeler2022-11-171-1/+3
|\ \ | |/ | | | | Change-Id: Ib613f58b4f1f848cc76a0f84204fee64288a08f2
| * macos: fix support for Macos Venturav1.24.0Ivan Komissarov2022-11-121-1/+3
| | | | | | | | | | | | | | The lsregister tool takes path to a bundle, not a name. Change-Id: I9093bab53586dc66d2854cd02271b1402fb33ac5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>