aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use LayoutBuilder V2hjk7 days1-1/+1
| | | | | | | | | | | | This puts the implementation introduced in acf1ecb47fdf into use, after significant simplifications in the class hierarchy. CRTP is not used anymore, and the new tag based dispatch is also used for Layout::addItem, effectively reducing the number of different code paths. The Lua based settings access is disabled for now. Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Qbs: Use Store instead of QVariantMap in a few placeshjk2024-01-261-24/+24
| | | | | Change-Id: I0636fad4ca032ec6657f2e35154c2e0ea4d0c9ca Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QbsProjectManager: Fix restoring custom build propertiesChristian Kandeler2023-10-061-1/+1
| | | | | | | Amends d6fe357d81da96475c02eb3c73f660d8121381e4. Change-Id: Icdc59c5ead49621854906ed94528c98ddc78433b Reviewed-by: hjk <hjk@qt.io>
* Utils: Don't store widgets in StringAspectMarcus Tillmanns2023-09-211-1/+0
| | | | | | Change-Id: Ibeabd5c933210fefede7748cdfba416ed33b27bf Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Utils: Rename the new Storage to Storehjk2023-08-241-2/+2
| | | | | | | | | Apparently that's what the young people on the web use for such a thing. Change-Id: I75d5396ff3cb3c26efd6008b5f2261354c4f7896 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Use Utils::Storage instead of QVariantMap in a few placeshjk2023-08-231-4/+4
| | | | | Change-Id: I02833cf2bc3caaadc22ff93ae530e4aebe4c3868 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* QtSupport: Rename qtkitinformation.{h,cpp} -> qtkitaspect.{h,cpp}hjk2023-08-151-1/+1
| | | | | Change-Id: I12229e5e98b468101d32edd35be74bbda0921d89 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QbsBuildStep: Some cleanupJarek Kobus2023-07-311-29/+17
| | | | | | | | | | Get rid of unused profile() method. Inline setBuildVariant() and setConfigurationArchitectures(), as they are used just once. Add context object to selectedAbis's connection. Change-Id: I8c41327ee15d870e97ab496670af58ba2b13a913 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QbsBuildStep: Remove qbsBuildOptionsChanged() signalJarek Kobus2023-07-311-2/+0
| | | | | | | | It is never emitted. Change-Id: Ib0650a2139213a117796ebbfaf8e596752b14f6b Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QbsBuildSystem: Properly queue parse requestsJarek Kobus2023-07-311-8/+0
| | | | | | | | | | | | | | Rename parseCurrentBuildConfiguration() into startParsing(). Make startParsing() and cancelParsing() private members, accessible only for QbsRequestObject. Change the behavior of the public scheduleParsing() method. It now queues the parse request. The new call to scheduleParse() cancels any possible running parsing and queues the new request. Change-Id: Ia2459a98e299c04fa715e73ca349e303d5536d82 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QbsBuildStep: Introduce qbsBuildConfiguration() helperJarek Kobus2023-07-281-7/+9
| | | | | | Change-Id: I8053942380bcd18919e49e3a767edbf6ce770d5b Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QbsRequest: Enrich functionality with parsingJarek Kobus2023-07-281-41/+9
| | | | | Change-Id: I8f189edb0e9fe51488bf98579945182e669fed0b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* BuildStep: Some cleanupJarek Kobus2023-07-271-3/+0
| | | | | | | | | | | | | | | Remove unused BuildStep API. Remove outdated docs. Cleanup includes. Don't repeat custom cancel messages from build/deploy steps, as in case of cancel action the follow-up message: "Canceled build/deployment." always appears anyway. Change-Id: I50b31e0cc688ee66d76a3a1dbe58eb72702112ad Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* QbsBuildStep: Employ task tree for runningJarek Kobus2023-07-251-180/+99
| | | | | | | | Task-number: QTCREATORBUG-29168 Change-Id: I508b7951f53f25f7cfd3e7f7e80086281cc7168e Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Replace the fromMap error return valuehjk2023-07-241-5/+4
| | | | | | | | | | | | | | | ... by some out-of-band mechanism, keeping previous functionality. The driving reason is to get the same fromMap signature as in the AspectContainer base, however, the whole mechanism seems rather useless: There are only a few places that actually ever could report errors, in those places "moving on" looks ok, too, and these few places are not conceptually different than a lot others. Removal of this (new) mechanism is left for later. Change-Id: Ibe7a0456bc3b84a84e942231f14446e783372d76 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QbsBuildStep: Some cleanupJarek Kobus2023-07-211-9/+9
| | | | | Change-Id: Ic3e7fe9a2aaabebd44acd1a61941318a0698d3e1 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Change ProjectConfiguration::toMap signaturehjk2023-07-211-3/+2
| | | | | | | To match better with the rest, especially the base AspectContainer. Change-Id: Ide0966cab3219800aa6b7b9e6012731a3fbe7a6f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Qbs: Use aspects more directly in QbsBuildStephjk2023-07-141-108/+79
| | | | | | Change-Id: I592dd23210bda3519f0e4bffe677f18a6b80c1ad Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Utils: Remove LabelPlacement::AtCheckBoxWithoutDummyLabelhjk2023-05-241-5/+5
| | | | | | | | | | This is identical in remaining functionality to AtCheckBox after the recent layout builder changes (or rather, can be adjusted on the layouting side by having appropriate empty cells) Task-number: QTCREATORBUG-29167 Change-Id: Ic357de6fb756acb5926afe1fd361ee4b18b17afd Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Utils: Rename qtcprocess.{cpp,h} -> process.{cpp,h}Jarek Kobus2023-05-041-1/+1
| | | | | | | | Follows QtcProcess -> Process rename. Change-Id: I97235a9a40cb7fd52944515b7ab878d96528f919 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Layouting: Make aspects operate on parent items, not LayoutBuilderhjk2023-05-031-3/+3
| | | | | | | LayoutBuilder is meant to be an implementation detail nowadays. Change-Id: I777ab934d3d405873e819eeddd27428d8c652f9a Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Layouting: Handle attach types via setterhjk2023-05-031-1/+2
| | | | | | Change-Id: I862f5cd109db3582b4f029787ec0cded2da39ce6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* LayoutBuilder: Reworkhjk2023-05-031-19/+20
| | | | | | | | | | | | | | | Everying is a LayoutItem now, and everything is split into a proper setup and execution phase. Execution happens only via LayoutBuilder (directly or via convenience wrappers in LayoutItem). No direct access to the widget in creation, funnel out is via the new bindTo() facility. Change-Id: I7eb38fd736ae57a68f9a72a6add5c767da82b49f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Utils: Remove one LayoutBuilder::addRow() overloadhjk2023-04-251-6/+6
| | | | | | | | | | The flexibility here is getting in the way later when trying to remove the dependency on aspects. Change-Id: I7221e80f2067292c7c80aead8f6d739fb7878f7e Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Flatten LayoutBuilder related hierarchieshjk2023-01-201-2/+2
| | | | | | | | | Originally the idea was to only expose LayoutBuilder, but we are getting more and more related items. Be consequent now, and have everything in Utils::Layouting, but not in nested classes. Change-Id: Ic0f98595882e5c60a25c30ec52df4a0ea79bc0ca Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* QbsPM: Fix handling of executable pathChristian Stenger2023-01-161-2/+2
| | | | | | | | | To be able to act correctly the internals of FilePath need to be formatted in UNIX style. Kind of amends c08317b5a673b7. Change-Id: I5a0c7b06005901575d47b9de327eeb657dbe3090 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove unused includes of QBoxLayoutJarek Kobus2022-11-181-1/+0
| | | | | | | Change-Id: I74204eaf70dbcb31a8bd13609bef35459c8c6b5f Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* QbsProjectManager: Add UI support for "profile" build variantChristian Kandeler2022-11-081-0/+2
| | | | | | | | Fixes: QTCREATORBUG-27206 Change-Id: I086e90173d71927d463498c31a567c1bc8089bd3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QbsProjectManager: Fix displayed build variant in build stepChristian Kandeler2022-10-261-17/+13
| | | | | | | | The initialization was lost in 2ecfda056bf283cc57132481e4fa11642a02491f. Change-Id: I40db0ea26de74aa6420ecc50c473bbcb22891238 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-2/+2
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@qt.io>
* QbsProjectManager: Replace foreach with ranged for loopJarek Kobus2022-10-071-1/+1
| | | | | | Change-Id: I7d11424d5ef6ffa62671eff597845b8b5c39f443 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Various plugins: Replace foreach with ranged for loopJarek Kobus2022-10-071-1/+1
| | | | | | Change-Id: If212c5e277de671b3ddd67d26ad1bdbc69213174 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Utils: Drop argument from PathChooser::rawFileChangedhjk2022-09-191-3/+3
| | | | | | | Preparation for further consolidation. Change-Id: Ia297d78763a24c168ae5fd13fbe30f6963f33fc7 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QbsProjectManager: Convert to using Tr::trAlessandro Portale2022-09-061-28/+32
| | | | | Change-Id: I7a369ee5fd3dcdd7dcf669704d4966eca4578fa2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Make the second parameter to LayoutBuilder::attach() an enumhjk2022-07-261-1/+1
| | | | | | | | More explicit and more potential options (e.g. "treat grid as form") than a bool. Change-Id: I89413efe30410160c38b0e524ba64288dde2332e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QbsBuildStep: Use Utils::GuardJarek Kobus2022-07-211-11/+8
| | | | | Change-Id: I346a35ed4902ecfbb83876b2f00374f5da642fd2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Hide some uses of FilePath::rawPath()hjk2022-06-301-1/+1
| | | | | | | | | | | | This basically inlines the current rawPath() implementation on the user code side, keeping behavior the same. Baby steps towards the originally intended swap of rawPath() and rawFilePath() implementations. Change-Id: Ib61887bfdc4485a17856c0dbc7c7c5dba7c3e0e3 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Remove algorithm.h from buildtargetinfo.hJarek Kobus2022-05-181-0/+1
| | | | | | | Change-Id: I777212fb94d46c1c71f017288b7e38dd5db62a91 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Rename QtSupport::BaseQtVersion to QtVersionhjk2022-01-241-1/+1
| | | | | | | | | | ... and the Utils::QtVersion enum to Utils::QtMajorVersion to avoid conflicts. Change-Id: Ib688c67388272b7204a91444155f60b8c18a56bd Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Utils: Move process arguments class out of QtcProcesshjk2021-05-111-6/+5
| | | | | | | | | | | | The main QtcProcess interface is nowadays a CommandLine, with no explicit references left to QtcProcess::Arguments and related static helper functions, so it only clutters the QtcProcess class interface So move these items out of QtcProcess, later potentially to a separate file pair. Change-Id: I45c300b656f5b30e2e2717232c855fdd97c2d1d7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Avoid intermediate widgets when using LayoutBuilderhjk2021-03-161-3/+4
| | | | | | | | | | | | In most cases, the layout constructed in the builder was set on a widget which in turn was put into a vbox in the actual widget. This is not necessary, but needs some re-ordering. Also make sure that using not-yet-parented widgets during layout construction does not cause visible artifacts. Change-Id: I75727a571da093d3131ea6fba467c2c646cdb6f1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Replace BaseAspect::setVisibleDynamic by setVisiblehjk2021-03-091-2/+2
| | | | | | | | | | | | This was a workaround from a time where BaseAspect didn't know about subwidgets created by derived aspects. That's not the case anymore. Subwidgets registered with registerSubWidget() get their visibility adjusted by BaseAspect::setVisibility() nowadays. Subwidgets not registered with registerSubWidget() should not exist. Change-Id: I8cdf72e5ea1f93c519f606913e084c78afecb56f Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use qAsConst with non-const Qt containers in range-loopsAlessandro Portale2021-02-171-1/+1
| | | | | | | ... in various places Change-Id: Ic6c0c1b9437a1ed402105c7a14a1f5f9454a68d4 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QbsProjectManager: Remove unneeded export macroChristian Kandeler2021-01-191-1/+1
| | | | | Change-Id: I4876ddce7dc350359aa554289f6806bbe4467145 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* QbsPM: Fix wrong dll linkage on WinChristian Stenger2021-01-191-1/+1
| | | | | | | Amends 9b8be3b3d55. Change-Id: Icce629f06cb4130981ebb2801d3ef2032c80dbb5 Reviewed-by: David Schulz <david.schulz@qt.io>
* QbsProjectManager: Add selection of abis for the android targetRaphaël Cotty2021-01-181-12/+140
| | | | | | | | If the target is android and the qt version has more than one abi then display a widget to select them in the build configuration. Change-Id: I9d3ab60a0a1f4aba2e1250c495fa25917b254287 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Allow to schedule a build/run during a project parseChristian Kandeler2020-12-111-1/+1
| | | | | | | | | | | | | | | | Once we parsed the project initially, subsequent parses typically do not change things in a major way, so we can expect e.g. run configurations to stay intact. It therefore makes sense to allow users to schedule an application run not only during a build (see 4b92b7ac60), but also during a parse. Arguably, this is even more relevant, as parsing is usually not triggered directly by the user, but happens as a side effect of editing a document or switching a branch. It is then annoying for users to have to wait until the respective buttons get enabled again. Fixes: QTCREATORBUG-24986 Change-Id: I1081ccde668eee794c39b96cd0bad5c3aaa580bc Reviewed-by: hjk <hjk@qt.io>
* Qbs: Use a StringAspect for the "Equivalent command line"hjk2020-11-161-9/+8
| | | | | Change-Id: I8d8c6039282dcdb870202e6d0d42d017f557b26a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>