aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/boot2qt
Commit message (Collapse)AuthorAgeFilesLines
* Work around QLocalSocket::error deprecationhjk2020-02-191-2/+8
| | | | | | | | | | | | Centralizing does not bring much benefit here, it's just six locations, and having either a central #include <QLocalSocket> in algorithm.h or a separe file does not sound better. In any case, it is absurd, that deprecating functions to "make code nicer" requires spilling #if QT_VERSION_CHECK over the code. Change-Id: Ia9a8c0eb6ef7cabbaffb46cfe472247e26e7e2c2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Boot2Qt: Adapt to QProcess::startDetached() deprecationhjk2020-02-191-1/+1
| | | | | Change-Id: I2793c4298ddc30831454de8664a8ccd8e8678bd5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Qdb: De-Q_OBJECT-ify RunConfigurationhjk2020-02-172-35/+34
| | | | | Change-Id: Ib632cb135915561682f68c0c37e0c3fefe92c0bb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Add final specifies to classesIgor Sidorov2020-02-051-1/+1
| | | | | | | Warning -Wfinal-dtor-non-final-class in clang trunk Change-Id: I2bf17064bf8898eab10b82b69583a283157766d0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* De-Q_OBJECT-ify most DeviceFactorieshjk2020-01-232-4/+3
| | | | | | | | | | WinRt is the odd one out. Some were using setObjectName, but only used for debug reasons, not really needed. Change-Id: I4a370e4694443bc1c455fda4337ef3acfb9259b8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Pass Id to BuildStep constructorhjk2020-01-094-6/+6
| | | | | | | | Allows to use constants in fewer places, similar to what e.g. RunConfiguration does. Change-Id: I9d049128206c4acf0ce14b06b66d6c090a7c5242 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Re-inline some of the RunConfiguration::setUpdater()hjk2019-12-182-12/+9
| | | | | | | ... after the latest 4.11 -> master merge Change-Id: I04352c6bd83edc8853598b69570844714d1bb60a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Replace RunConfiguration::doAdditionalSetuphjk2019-12-172-6/+0
| | | | | | | | | ... by an explicit update() call. This is what effectively done in most cases, and should be harmless and reasonably cheap in most other cases. Change-Id: I323112ec7cdbccf19050ac54466d8e1d97a0516e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Debugger: Rename some GdbServer* to DebugServer*hjk2019-12-171-2/+2
| | | | | | | | | This is mimicking a bit what has been done on the baremetal side, and is formally more correct when the gdbserver is not a real gdbserver, but e.g. a probe speaking the gdb remote protocol. Change-Id: I1b42624b94071b34c009bd0650095792a5b2fcb7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Merge remote-tracking branch 'origin/4.11'Eike Ziller2019-12-162-10/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/boot2qt/qdbrunconfiguration.cpp src/plugins/boot2qt/qdbrunconfiguration.h src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp src/plugins/qnx/qnxrunconfiguration.cpp src/plugins/remotelinux/remotelinuxrunconfiguration.h Change-Id: I17c8e1bf300bb75d7317ccf7749dd3cc07709c21
| * Boot2Qt: Add QdbRunConfiguration::doAdditionalSetup()Christian Kandeler2019-12-122-1/+7
| | | | | | | | | | | | | | | | | | This amends b526d789cf. I had forgotten that Boot2Qt no longer inherits from RemoteLinux. Fixes: QTCREATORBUG-23315 Change-Id: Ic0fa4d54df4b7957916be67ec515df57f2fb2ce1 Reviewed-by: hjk <hjk@qt.io>
* | Standardize RunConfiguration id specificationhjk2019-12-112-2/+1
| | | | | | | | | | | | | | | | | | | | | | Use the cheapest of all patterns used so far, they are only used exactly once. Normalizing the id values to a common patters is not as simple as they are stored in .user files. Change-Id: Ib4d037a88a7a5ca2ea94dfb3933d17122c89240f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Rework RunConfiguration::isConfigured()Christian Kandeler2019-12-052-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code had a number of problems: - There was one function isConfigured() to report whether the run config has issues, and a second one, ensureConfigured(), needed to be called to retrieve the details. At least one subclass implementor forgot to re-implement the first one, so the second one was never called. - The ensureConfigured() function could show a dialog and thereby delay execution of the run configuration, leading to additional state and a more complicated execution logic. Also, the dialog duplicated the run configuration UI. We now have only one function returning a list of Task objects. If the list is not empty, we present them to the user in a non-blocking way and abort the execution. Change-Id: I5f2a8126a2c1bd2ca51345b9e37b979bfc0c0b98 Reviewed-by: hjk <hjk@qt.io>
* | ProjectExplorer: Let RunConfiguration not listen to Kit changeshjk2019-12-021-1/+0
| | | | | | | | | | | | | | | | Relevant kit changes are (hopefully) triggering re-parses and build changes, which in turn trigger run config updates. Change-Id: I229699ac92eee615f246dcacea608279044dc1d4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Qdb: use new runconfiguration aspect update mechanismhjk2019-11-272-15/+11
| | | | | | | | | | Change-Id: Ib8822ac62d364bbbe8b9fd61b238c841dc39a777 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Introduce and use a Target::buildSystemUpdated signalhjk2019-11-211-5/+2
| | | | | | | | | | Change-Id: I497d46866146600a1ed9162bd720c574ee4d4769 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Move BuildSystem owership to BuildConfigurationhjk2019-11-191-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | ... or Target. This patch moves build system from conceptually "one per project" to "one per target (i.e. per project-and-kit)" or "per BuildConfigurations" for targets where the builds differ significantly. Building requires usually items from the kit (Qt version, compiler, ...) so a target-agnostic build is practically almost always wrong. Moving the build system to the target also has the potential to solve issues caused by switching targets while parsing, that used Project::activeTarget() regularly, with potentially different results before and after the switch. This patch might create performance/size regressions when several targets are set up per project as the build system implementation's internal data are duplicated in this case. The idea is to fix that by sharing per-project pieces again in the project implementation once these problems occur. Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix lupdate issuesEike Ziller2019-11-042-1/+3
| | | | | | Change-Id: Ib0cbb96a1a4857db5724f9d1e316b97bf2827dbd Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Boot2Qt: Fix UI textLeena Miettinen2019-10-294-11/+11
| | | | | | Change-Id: Ibc25722d16691ffb35cedaadba9c7049975d5836 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
* RemoteLinux: Use the "install to local dir" step in derived pluginsChristian Kandeler2019-09-272-3/+10
| | | | | | | | That is, Boot2Qt and Qnx. Task-number: QTCREATORBUG-22822 Change-Id: Id48069c6ee2bc857a94be173b6c1de9bc69404a8 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Store some aspect data by value in the RunControlhjk2019-09-051-7/+5
| | | | | | Change-Id: Idb7e119b5b0b483ce91efeb21fb415b654cfed4f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Use std::function for SimpleTargetRunner::start()hjk2019-09-041-8/+6
| | | | | | | | | This spares us the typical r = runnable(); modify(r); setRunnable(r) roundtrip and the m_runnable storage that might or might not be the same as runControl->runnable. Similar for m_device. Change-Id: I8300260dd8dd7cd395e40bcd3d2ae45089085008 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Rename BaseStringAspect::{f,setF}ileNamehjk2019-08-291-1/+1
| | | | | | | ... to filePath and setFilePath. In line with Utils::FilePath. Change-Id: I7115b91876542629c3d61c8259bbd8d9f4022fc1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Proliferate FilePathhjk2019-08-291-4/+4
| | | | | | | DeployableFile and fallout. Change-Id: I9a9c56e4a4ebf8f68df70d65da2e699efedfe907 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Standardize RunWorker creation logichjk2019-08-275-43/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This unifies the remaining paths of RunWorker creation to always use RunWorkerFactories in the plugin pimpls. There were, and are, still effectively three basic kinds of workers: - "toplevel" tools corresponding to the run modes, that are often all that's used for local runs and directly started via the fat buttons or e.g. entries in the analyze menu, with factories already previously located in the plugin pimpls - core "tool helpers", providing tool specific functionality typically used in conjunction with a remote device specific run mechanism, set up via RunControl::registerWorkerCreator - target/device specific runhelper like port gatherers contructed e.g. via *Device::workerCreator(Core::Id id) Worse, these categories are partially overlapping, so it was not clear how a "clean" setup would look like, instead some ad-hoc cobbling "to make it work" happened. In some cases, the runMode id was used throughout the whole ensemble of run workers for a given run, and which worker exactly was created depended on which of the mechanism above was used in which order. With the new central setup, the top-level runmodes remain, but the second kind gets new ids, so the implicit dependencies on order of setup mechanism are avoided. This also helps in the cases where there was previously unclarity of where and how to set up worker factories: It's always and only the plugin pimpl now. Change-Id: Icd9a08e2d53e19abe8b21fe546f469fae353a69f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Let PortsGatherer produce full URLs instead of ports onlyhjk2019-08-261-10/+5
| | | | | | | This is what the consuming code expects in most cases. Change-Id: I135592039e28b994996186f627215ab1d2f8d6dc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake build: Add Boot2QtEike Ziller2019-08-221-0/+31
| | | | | Change-Id: Ie915c09e4e71fb3b1f19711a5cba32f8c4a6aa11 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Boot2Qt plugin is disabled by default but not experimentalEike Ziller2019-08-221-1/+0
| | | | | Change-Id: Ie962be78d62aa57e86c0bb8d45010b93e725ce97 Reviewed-by: hjk <hjk@qt.io>
* Utils/all: Create an OutputFormatterFactoryhjk2019-08-131-4/+0
| | | | | | | | | | | Essentially following the scheme used for the various project configurations. This makes it possible to construct OutputFormatters by Id only, potentially reducing hard plugin dependencies and opening the road to have several output formatters per RunConfiguration/Outputpane/... Change-Id: I4b5fb6fb6be8b0d9a0859f178bb0effc3398b09e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Re-work setup runworker factorieshjk2019-08-091-22/+30
| | | | | | | | | | | | | | | This combines two of the previous three paths to create run workers, and refers to RunConfigurations by id, not by type where possible to decrease coupling between the classes. Only allow "type of run configuration" and "type of device" as the only possible kind of restriction and require a uniform RunWorker constructor signature. Adapt user code to fit that pattern. Change-Id: I5a6d49c9a144785fd0235d7586f244b56f67b366 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Add CommandLine convenience constructorshjk2019-07-231-4/+2
| | | | | | | | | | | | | ... taking a QString for the executable. This weakens the very explicit QString -> FileName conversion via the named constructors for the special case of constructing a CommandLine. I think that's worthwhile here, as it reduces the noise on the caller site under circumstance where the nature of the thing is obvious. Change-Id: I27b4a73639728893d053b2e7ba65cb745f0ffe83 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use Utils::FileName for Runnable::executablehjk2019-06-214-6/+6
| | | | | Change-Id: I584bc18aa19a4c9886af7b13e95052dfd4350b34 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Make Device::displayType a data memberhjk2019-06-192-6/+2
| | | | | Change-Id: If650f660e3b10bc28d575ded07a854f59be26f87 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce a new BaseSelectionAspecthjk2019-06-142-86/+11
| | | | | | | | | | To handle an (exclusive) choice within a set of possible options, visualized by a set of QRadioButtons. Use in QdbMakeDefaultAppStep. Change-Id: Icc62a45e8c5986cd9400f90449f92154ed854a22 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux: Move deployservice ownership to AbstractRemoteLinuxDeployStephjk2019-06-144-56/+13
| | | | | Change-Id: I12cfa0d2cdb171d381e6fde6b0e71fc0c098d746 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Merge QdbDeviceWizard file triple into device fileshjk2019-06-136-258/+86
| | | | | Change-Id: I22abfb0355667000278f8a4e2cd6f8d0f0834a94 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Simplify QdbUtilshjk2019-06-134-38/+12
| | | | | Change-Id: Ief211d00812284828197f34bc2aaf4a72bdffda4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Merge QdbDeviceProcess file pair into device fileshjk2019-06-135-105/+23
| | | | | Change-Id: I6ccc2791baed02bc2aec486551fb8a071a95856b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Simplify DeviceApplicationObserver furtherhjk2019-06-131-94/+59
| | | | | | | | | - Use Utils::CommandLine - Indirect member with same lifetime can be normal members ... Change-Id: I56f09574942cbd26e5d456d7b1def5a4b2cc34eb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Fix compile for gcc5.3Christian Stenger2019-06-131-1/+1
| | | | | Change-Id: Ib104ca611d962e41352e95cef35c450307ffa029 Reviewed-by: hjk <hjk@qt.io>
* Boot2Qt: Merge DeviceApplicationObserver file pair into device fileshjk2019-06-125-185/+108
| | | | | Change-Id: I2306210617ac4964314deeb8c1a62604715bca19 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Simplify DeviceApplicationObserver interfacehjk2019-06-123-28/+14
| | | | | | | The ability to run more than one command is never used, drop it. Change-Id: Id42c8922e1290bbb4a7a2e517dc7759dcfb0b189 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux et al: Use functor for deploy step polishinghjk2019-06-114-13/+5
| | | | | | | More compact. Change-Id: I8adc63aec71de1e57640911300f2699598ef1a01 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Boot2Qt: Replace use of 'private slots:'hjk2019-06-115-31/+16
| | | | | | | ... by normal functions or lambdas. Change-Id: Ie11d28e35ff04cdc0f1e0cef8462c3cc5ef44c87 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Add support for Boot2Qthjk2019-06-0753-0/+3977
A plugin for communication with Boot2Qt devices. Task-number: QTCREATORBUG-21808 Change-Id: I61f4a9451c2fe8ff4e1108e07db2e72e8c613c43 Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>