Commit Graph

25 Commits

Author SHA1 Message Date
hjk
1396c6e8e9 ProjectExplorer: Use Utils::FileName for Runnable::executable
Change-Id: I584bc18aa19a4c9886af7b13e95052dfd4350b34
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-06-21 10:32:31 +00:00
hjk
9ef0b97716 Avoid some visible uses of RunControl::runConfiguration()
For a long time, probably from the very beginning, a RunControl
was meant to hold (a copy of) data needed for its operation, that was
valid at the time of its construction, to be resilient in cases
where RunConfiguration setting were changed while the RunControl
was running, or to properly re-run with the original settings.

Unfortunately, the task was repetitive, as RunConfiguration
classes had no generic access to properties / "aspects"
and there was was the runConfiguration() accessor (probably
for mostly unrelated reasons in the output pane handling) which
made the idea of just casting that to the original runConfiguration
and access the data directly there appealing, with all the
expected consequences.

This patch here partially addresses the issue by copying some
more of the related data at RunControl construction time and
adjust the using code, avoiding most uses of the runConfiguration()
accessor in a mostly mechanical matter.

Complete removal appears possible, but will be less mechanical
in "difficult" plugins like ios, so this is left for later.

The new accessors in RunControl are very much ad-hoc, leaving
room for improvement, e.g. by consolidating the access to the
run config settings aspects with the other runconfig aspects
or similar. For now the goal is to remove the runConfiguration()
accessor, and to as much as possible fixed data after RunControl
setup is finished.

Next step would be to officially allow construction of RunControls
without a specific RunConfiguration by setting the necessary
data independently, removing the need for the various workarounds
that are currently used for the purpose of faking (parts of) the
effect of the non-existing RunConfiguration or refusing to operate
at all, even if it would be possible.

Change-Id: If8e5596da8422c70e90f97270389adbe6d0b46f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-03-12 12:27:35 +00:00
hjk
1c9410e353 ProjectExplorer: Rename 'extraAspect' to 'aspect'
Using aspects is the standard pattern nowadays, there's nothing 'extra'
to them anymore.

Change-Id: I446f9d7b1db58a4899e5e44df33ce51f655e7be4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-10-02 08:32:51 +00:00
hjk
263cf4c608 ProjectExplorer: Remove RunWorker::setDisplayName
It has been an obsolete alias for setId for a while and downstream
uses have been adapted.

Change-Id: I467370aa67054599c7771e8275d28e62ddc461fa
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-08-21 08:02:22 +00:00
hjk
36b835ff0a Finish merging Runnable and StandardRunnable
As all Runnables are known to be StandardRunnables, this here
essentially replaces all .is<StandardRunnable> by 'true'.
.as<StandardRunnable> by no-op, and fixes the fallout.

Change-Id: I1632f8e164fa0a9dff063df47a9e191fdf7bbb2e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-23 08:48:36 +00:00
hjk
4b9945c329 ProjectExplorer: Rework executable display handling in runconfigs
The basic idea is to provide an easy-to-configure reusable
building block to provide an "Executable" in a run configuration.

This patch here extracts some generic from the previous
ExecutableAspect into a BaseStringAspect and bases the new
ExecutableAspect implementation on it. It also adds the
the ability to make it editable or to manually override an
executable, and adds a SymbolFile aspect for the accompanying
sources of debug information.

Use in RemoteLinux and Qnx for starters and demonstration purposes.
In the end the Qnx runconfiguration widget does not depend on the
RemoteLinux implementation anymore by replacing the previous
code-sharing-by-inheritance by direct (and less) code.

Change-Id: I91b55820455256a8526e39458364b6cb74e63cd7
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-23 10:34:08 +00:00
hjk
015f0c03cf Qnx: Fix debugging
This apparently fell through the cracks in 89f02cba2.

Task-number: QTCREATORBUG-18804
Change-Id: Ib00a5a074ec1df3292267a194e8e87a92d3c6dfc
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:01:52 +00:00
hjk
8628150ffc Qnx: Give Slog2Info runner a display name
... for better debugging.

Change-Id: I24d2c6d10d659287ae61fdb4db735e658e3a68ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-06 14:25:24 +00:00
hjk
4048629d1a Qnx: Create slog2 runner processes at more reasonable times
89f02cba2c introduced a regression.

Change-Id: I3ae4ecc7f2dfcd477ffe7a277a87acd90aad5339
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:22:54 +00:00
hjk
89f02cba2c ProjectExplorer: Split Target and ToolRunners into smaller tasks
This increases re-usability of activities like 'port gathering',
and makes their use less dependent on actual device implementations.

Change-Id: I017cb74874f2b38c487ba2d03906a675d5618647
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-05-15 14:35:03 +00:00
Orgad Shaneh
da7cb91446 Merge remote-tracking branch 'origin/4.2' into 4.3
Change-Id: I4931dcc81be872d7712e67123e94d15ee696459f
2017-03-14 16:20:14 +02:00
Samuel Gaist
4033471aa9 QRegExp include cleanup
This patch adds the missing include statements for QRegExp.

Change-Id: Ibb03b929940adb84ae190b5090cb6b88653cc14c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-03-13 22:05:30 +00:00
Tobias Hunger
a816228f87 Qnx: Remove unnecessary nullptr check
Change-Id: I164d68814a685060782eacc644dfdc114f60d688
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-06 10:21:15 +00:00
hjk
76a8e89ec7 Qnx: Code cosmetics
Qt 5 connects, namespaces, ...

Change-Id: I887f75627e4ff53f6c5bde20456b809d8f2ad463
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-12 12:44:18 +00:00
hjk
58be2708a3 ProjectExplorer: Use Runnable in DeviceProcess::start
Change-Id: I8ce5b536745db11980f43449a055b7ebf9da83d2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-01-28 13:27:30 +00:00
hjk
1f0594050f Qnx: Code cosmetics
Some Qt 5 connects, auto, namespaces, ...

Change-Id: I3e206d95715f988473c9b7c3d01658e6d4d925ae
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-26 12:44:25 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
BogDan Vatra
aaaef7d1b2 QNX: Export QnxDeviceConfiguration
Allow other plugins to use the existing Qnx device implementation.
Move QnxDeviceProcess into separate header/source files.

Change-Id: I3fe62aefbe8a71adf75acfc1a2c0c8ac1cc3d1e1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-09 14:55:54 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
hjk
762a3e6e4c Qnx: Introduce QnxDeviceProcess
This is helpful for more selective and direct process killing.
Previously, all processes with a given name were killed, and
in some cases stale awk and grep processes were left over.

Change-Id: I4fb3999818062b8c1fdf7dca8a337ef9c158be9b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2014-12-01 12:56:14 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Frantisek Vacek
f7daff90fe QNX: Fixed bug in BlackBerry slog2 parser
slog2 parser has ignored all slog2 messages not beginning with a letter.
For example:
console.debug("#### message prefixed with some hashes");
was silently ignored by slog2 parser and wasn't send to the QTC application
output window.

Change-Id: Ie4cac329d192c8b330226b99141848a1c0c0c715
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: Mehdi Fekari <mfekari@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Tobias Nätterlund <tobias.naetterlund@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2014-01-20 19:08:08 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
David Kaspar
efe2f64efe Qnx: Fixing slog2info messages printing
Slog2InfoRunner class now more properly parses the slog2info output
including datetime, applicationid filtering, buffer-name, buffer-id.

Task-number: QTCREATORBUG-10646
Task-number: QTCREATORBUG-10712
Change-Id: I71aaf6b9b3ff1da16d3c46065a1dc5125dc1503e
Reviewed-by: Tobias Nätterlund <tobias.naetterlund@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
2013-11-14 09:28:04 +01:00
Tobias Nätterlund
c35a6d610c QNX: Refactor BlackBerryLogProcessRunner
This change introduce a separate class for running the slog2info
process, in order to be able to use that for pure QNX (non-BlackBerry)
devices.

Also moved from using QSsh::SshRemoteProcessRunner to use
ProcessExplorer::SshDeviceProcess for the tail/slog2info processes
instead.

Change-Id: If917bd2a1099800f1a7333639d674c8d1b16de7b
Reviewed-by: Mehdi Fekari <mfekari@blackberry.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2013-10-21 10:31:15 +02:00