summaryrefslogtreecommitdiff
path: root/src/plugins/remotelinux
Commit message (Collapse)AuthorAgeFilesLines
* RemoteLinux: Add target information to runconfig namehjk2018-10-022-13/+1
| | | | | | | Was there until 4.6. Change-Id: I044e9a184a3f495f967bfa6712f1cd5cbe5603d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Rename 'extraAspect' to 'aspect'hjk2018-10-022-4/+4
| | | | | | | | | 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>
* RemoteLinux: Remove usage of deprecated QDateTime::toTime_tOrgad Shaneh2018-09-281-2/+3
| | | | | Change-Id: I84708eea3f7a24400776169ffaea122e50100d8e Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* RemoteLinux: Remove RemoteLinuxKillAppStep::createConfigWidgethjk2018-09-202-7/+0
| | | | | | | Identical to base AbstractRemoteLinuxDeployStep::createConfigWidget. Change-Id: I10a94514e50839950eb4e07a4ce1b4c004b51881 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* RemoteLinux: Merge {Abstract,Generic}RLCustomCommandDeploymentStephjk2018-09-203-67/+23
| | | | | | | | | | | ... into a RemoteLinuxCustomCommandDeploymentStep class. There's only one one incarnation of the abstract base, and neither the base nor the implementation is really big enough anymore to justify the hierarchy. Change-Id: I85759051589482ad48efc0e3cad4679416ceb387 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Replace virtual BuildStepConfigWidget::showWidgethjk2018-09-191-2/+2
| | | | | | | | | | | | | | ... by a bool member. One reason less for the need of custom derived classes, i.e. one step forward to a setup where the then-generic config widget can be created in BuildStepListWidget::init() and filled with aspect- created subwidget, reducing the need of per-BuildStep boilerplate similar to what was done in RunConfiguration recently. Task-number: QTCREATORBUG-19985 Change-Id: I85d26bdb6b35d0d6715782214328a40eef87286e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* RemoteLinux: Use aspects in RemoteLinuxCustomCommandDeploymentStephjk2018-09-192-78/+9
| | | | | Change-Id: Idb25506c172f7300d3485fd8dcfda231e5351532 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Add BuildStep::createConfigWidget default implementationhjk2018-09-182-103/+23
| | | | | | | | | | | This starts the same process as done for run configuration widgets: Add an aspect based default implementation and base build step data handling on aspects. As first example use the RemoteLinux::GenericDirectUploadStep Change-Id: Ia2d1fcd393e667094b7852371b893d8356c3eace Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Remove IRunConfigurationAspect::runConfigurationhjk2018-09-134-7/+6
| | | | | | | | ... and adapt constructors to not take the now-unneeded RunConfiguration pointer. Change-Id: I53ff338f51334ff7b0c22d4bed92bfcfc8225ea7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Remove RunConfigWidget wrapper classhjk2018-09-131-1/+1
| | | | | | | | | | | | Not really needed, a QWidget does the job, too, and de-emphasizes then 'Run' bit. The display name is now taken always from the aspect, but that's what was the practically the case before, albeit with different implementations. Change all names to *[cC]onfigWidget* (in line with ISettingsAspect). Change-Id: Ida0409a2dd0b175dd5ce4202f9b9e94b3f2db421 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* RemoteLinux: Pass target to RemoteLinuxEnvironmentAspectWidget ctorhjk2018-09-113-5/+7
| | | | | | | | This avoids one use of IRunConfigurationAspect::runConfiguration() which is meant to be removed soon. Change-Id: I70a493a750e7e6baf9477552acd273c417d88289 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* RemoteLinux: Remove unnecessary "--" from kill commandUlf Hermann2018-09-071-2/+2
| | | | | | | | Apparently we don't need to prefix negative PIDs with "--" if we explicitly give a signal number, and busybox complains about it. Change-Id: I009cf7f2dafb3c38185e3a86146d30e47ea2e676 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Compactify runconfiguration aspect creationhjk2018-09-042-14/+10
| | | | | Change-Id: I12394d3df8deb7666be6ac3f112082f915454e82 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Remove RunWorker::setDisplayNamehjk2018-08-212-2/+2
| | | | | | | | 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>
* Unify key names for various fields in stored RunConfigurationshjk2018-08-212-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This replaces various versions of the key name of the arguments, working directory, use terminal and use dyld image suffix fields by unified versions ("RunConfiguration.Arguments", "RunConfiguration.WorkingDirectory", "RunConfiguration.UseTerminal", "RunConfiguration.UseDyldImageSuffix"). The different names for the fields are technically not needed (as proven by several cases that already now used the same key), partially outdated ("Qt4ProjectManager.MaemoRunConfiguration.Arguments") make RunConfiguration constructors less uniform and more complex than needed. The "RunConfiguration." prefix in the new names is not needed, but used by several other settings, so having it there looks more uniform now. In (the unexpected case) that different keys would ever be necessary, the default key name could still be overridden by using setSettingsKey from user code. Change-Id: Ifb74ad74e0a9c724c8bf5e71e1bb2424d5d1831b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-06-111-1/+1
|\ | | | | | | Change-Id: I762dbddb0f337e9a5fc4b113c7876813e9f45c9c
| * Remote Linux: Fix capitalization of UI textLeena Miettinen2018-06-081-1/+1
| | | | | | | | | | Change-Id: I1204bcba7748216bf5b0d5ba9853871b10821720 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.7'Eike Ziller2018-05-288-16/+9
|\ \ | |/ | | | | | | | | | | Conflicts: src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h Change-Id: I192b9e88f967182f3275b4b98abed1220c26daac
| * Finish merging Runnable and StandardRunnablehjk2018-05-237-14/+7
| | | | | | | | | | | | | | | | | | | | 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>
| * ProjectExplorer: Start merging Runnable and StandardRunnablehjk2018-05-222-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With AndroidRunnable gone, there is only one incarnation of a Runnable left - the StandardRunnable. It is not expected to ever need a different runnable again, as platform differences are now handled in the platform specific RunConfigurations and RunWorkers created there locally, and global information is typically communicated via RunConfigurationAspects, so there is no point in keeping the Runnable::{Concept,Model} machinery. This patch here essentially makes StandardRunnable a type alias for Runnable, to allow downstream changing all if (r.is<StandardRunnable>()) { ... r.as<StandardRunnable>(); } one by one. When all downstream is adjusted, the alias can go completely. Change-Id: I86aa92c7fae8d54ca603484b7e1746c126b0bddb Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Centralize retrieving the "parent" build configurationEike Ziller2018-05-221-1/+1
|/ | | | | | | | | | | | | If a step is part of a build configuration, that is used, but many steps can be used as part of a deploy configuration. In that case the active build configuration of the step's target must be used, and that logic was duplicated many times. Instead, let BuildStep::buildConfiguration take care of that logic. For steps that are not offered for deploy configurations there is no semantic difference, and for the others this removes code duplication. Change-Id: I02f3bb50226590092cedcec02fce6fde9c7c6e63 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* RemoteLinux: Consistently use nullptrTobias Hunger2018-05-087-8/+8
| | | | | | | Fixed by clang-tidy modernize-use-nullptr. Change-Id: I2a608fec95a489b3bde426e46d288672c6d1d20d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux: Use override consistentlyTobias Hunger2018-05-074-15/+15
| | | | | | | clang-tidy fixes from modernize-use-override check. Change-Id: Ie9272b33022bea665c305d6bb71d8451a0968d5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux: BareMetal: Fix history completerChristian Stenger2018-05-032-0/+2
| | | | | | | | | | History completers need a respective key to work properly and become restorable. This patch avoids some soft asserts and warnings regarding empty settings keys. Change-Id: I7d24d738b29167b7ab9714b4c6d54dbc1f7e1181 Reviewed-by: hjk <hjk@qt.io>
* Make DeployConfigurationFactory more similar to RunConfigFactorieshjk2018-05-022-10/+7
| | | | | | | | | | | | | | This follows some of the recent changes to RunConfigurations: - pass Id from factory to DeployConfiguration constructors - de-object-ify DeployConfigurationFactory - use addSupportedTargetDeviceType(Id) instead of addSupportedTargetDeviceType(List<Id>) Also, use stepList()->appendStep() instead of stepList()->insertStep(pos...) with manual pos tracking in some cases. Change-Id: I09c6a9d0f66f9f85b1c13361104f7878028e1ea8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce a RunConfiguration::buildTargetInfo() functionhjk2018-04-271-1/+1
| | | | | | | As convenience function, and use it in some places. Change-Id: I02e49f2cdc301bbf1261836032d3fa3a5b188446 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Pass id to RunConfiguration constructorhjk2018-04-254-15/+6
| | | | | | | | | | | It's what the base class requires, and opens the possibility to have several factories creating the same type of run configuration. Also move ios, winrt and android factories closer to their products, it's the predominant pattern nowadays. Change-Id: Iad48152f02a248d22cb18dd435a2fc34d73c7077 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux: Fix custom runconfig executable path chooserhjk2018-04-251-0/+2
| | | | | Change-Id: I9725151eb8496c9af58b9ae9f22de3aa2fd11165 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* RemoteLinux/Debugger: Use SymbolFileAspecthjk2018-04-241-4/+0
| | | | | | | | This is/will be optionally available independent of the concrete run configuration type, so use it. Change-Id: Ife0e906ff47e916d2f7a9df73af8cdd83635cd65 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Factor out some common code in runconfigurationshjk2018-04-244-66/+0
| | | | | | | | | | | | | | DesktopQmake, CMake, Qbs, Nim, RemoteLinux and Qnx now have a common understanding what should be in a runnable and how their configuration widget should be set up. So move them over to using shared code, too. Several others runconfigs only lack a one or two more aspects to follow suit in later patches. Change-Id: Ia862c95c97d63bd0a0f2dc303435775a2fc530d3 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Rework executable display handling in runconfigshjk2018-04-239-422/+72
| | | | | | | | | | | | | | | | | | | | 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>
* RemoteLinux: Add tooltip for line editChristian Stenger2018-04-201-0/+1
| | | | | | | | | | The line edit for the gdb server executable has a placeholder text that is not readable due to the length of the text. Add a tooltip that duplicates this text, but is able to display it completely. Change-Id: I1c15416f3b31420967825f1b99582021938d3628 Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/4.6'Eike Ziller2018-04-171-4/+3
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/android/androidrunnable.h src/plugins/android/androidrunner.cpp src/plugins/qmakeandroidsupport/qmakeandroidrunconfiguration.cpp src/plugins/qmakeprojectmanager/qmakeproject.cpp src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp Change-Id: I68093d44cfd672347eab82459ff70c21a32297ce
| * Make sure we always quote the qmldebug command line argumentsUlf Hermann2018-04-161-4/+3
| | | | | | | | | | | | | | Change-Id: I5ce68c238e0ab05d19715659a9cc2161e51e1a7e Task-number: QTCREATORBUG-20260 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Streamline OutputFormatter creation a bithjk2018-04-134-12/+3
| | | | | | | | | | | | | | | | | | | | Note that the concept of a single monolithic OutputFormatter per RunConfiguration (and why RunConfiguration, not RunControl to start with?) is unchanged and suboptimal as one cannot easily combine existing use cases, e.g. Python_and_Qt. Change-Id: Ibeb8191020387324f22ed313230293597f96e36a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Consolidate RunConfiguration identificationshjk2018-04-122-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previously per-Project/RunConfiguration changing meanings of BuildTargetInfo::buildTarget have by now been split into separate values in BuildTargetInfo: - buildKey a handle to one item in Target::applicationTargetList - displayName a user-visible string in the run settings page The buildKey was tweaked to coincide with the previous 'extraId', i.e. the non-RunConfiguration-type part of the project configuration id that (still) use id mangling. This allows replacing the cases of locally stored seven different versions of buildKey(-ish) data by one RunConfiguration::m_buildKey, and do all remaining extraId handling in RC::{from,to}Map only, i.e. remove the base ProjectConfiguration::extraId() virtual and remove the "re-try fromMap with mangled id" hack entirely. The id mangling is still used to temporarily maintain .user file compatibility in some cases for now, but should be replaced by storing the build key and the RunConfiguration type soon. Qbs already changes in here to only use the uniqueProductName as buildKey, without the previously added display name which is stored as part of the ProjectConfiguration already. It turns out that RunConfiguration::buildSystemTarget was intended and used to retrieve an item from the Target::applicationTargetList for some configurations, coinciding with what buildKey does always. So use that insteand and drop RunConfiguration::buildSystemTarget. There is clearly is further consolidation potential left. handling of (default)displayNames is still a per-runconfiguration mess and there is further consolidation potential left. Change-Id: I448ed30f1b562fb91b970e328a42fa5f6fb2e43e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* | RemoteLinux: Rework RemoteLinuxCustomRunConfigurationhjk2018-04-095-153/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use ArgumentAspect and WorkingDirectoryAspect. Use base convenience functions to set up configuration widget. The RunConfigWidget base is not needed for the main frame. Make the run config display names consistent. Display remote exe (which is the main thing) above the local exe (which is only a helper to get debug info). Change-Id: I9a47dc9ea27e6abd96bb75a3103ebc8ba35069c0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: De-qobject-ify RunConfigurationFactoryhjk2018-04-092-4/+0
| | | | | | | | | | | | | | | | Some translations moved over to the corresponding RunConfigurations, one setParent() replaced by direct deletion. Change-Id: Ib5e527b71353a6be70b332ac2dfd2f5cd2499a60 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | RemoteLinux: Move RunConfigurationFactories close to RunConfigurationshjk2018-04-099-112/+38
| | | | | | | | | | | | | | | | No need to have a dozen lines of code in a separate translation unit and more in line with what others do nowadays. Change-Id: I029cac3d96b6a318be2cc4efad08badfae68fc20 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | ProjectExplorer: Streamline *EnvironmentAspect interfacehjk2018-04-062-33/+12
| | | | | | | | | | | | | | | | | | | | Register code/name combinations together. Also make the otherwise implicitly preferred first entry explicit in the API. Change-Id: I80f68b01d53e2672480365d4efcb9d790b8363fd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | RemoteLinux: Use Argument and Working directory aspects in run confighjk2018-03-124-89/+33
| | | | | | | | | | | | | | Also some cosmetics in the run config widget setup. Change-Id: I02503d808b5ee7f81f46520f9e6d1750c2cd5de9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Rename IRunConfigurationFactory to RunConfigurationFactoryhjk2018-03-073-10/+7
| | | | | | | | | | | | | | | | | | | | | | It's not an *I*nterface anymore Also, remove the in-all-but-one case unused QObject parent and the object name that was only there for debugging purposes. The class type serves the same purpose in the debugger. Change-Id: I0dafb01e6b4fd7c7df04a63aaa3ef3e4bd693f6f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Don't translate default windowTitle again and againRobert Loehning2018-03-063-3/+3
| | | | | | | | | | Change-Id: I4b4ff16e02c517bcd5a7c5ae73f62dd2a5bcc7cc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Introduce and use IRunConfiguration::addSupportedTargetDeviceTypehjk2018-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | In line with addSupportedProjectType, saves a few cycles due to the non-use of the temporary list, and in theory more flexible than the existing set...(QList<Id>) as it potentially allows dependent plugin to declare support for already existing configurations instead of re-implementing their own. Change-Id: I2b83e90de49daa9bfce6f780c5f51c2e971eb7d1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | RemoteLinux: Decorate custom runconfig name with device namehjk2018-02-201-1/+2
| | | | | | | | | | Change-Id: I186adef1b7a7535cd0e06c0ddfe3d5e152c98195 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | RemoteLinux: Also decorate empty/invalid targets with device namehjk2018-02-162-6/+3
| | | | | | | | | | Change-Id: Iff9f80490ba3a59e0c17b28acd2376cfc0bf9d87 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Show non-desktop device names in remote run config nameshjk2018-02-154-22/+2
| | | | | | | | | | | | | | | | | | | | | | So far we used device type in some cases, not even following a specific pattern. Showing the device name gives a bit more detail in cases of multiple devices of the same type and offers the user a bit more control on what it shown. Change-Id: I2bd6bbd404577db3afca0f84b8a976cb07b1cfd0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Simplify collection of RunConfigurationCreationInfoshjk2018-02-152-3/+2
| | | | | | | | | | | | | | | | | | Instead of calling twice for AutoCreated and UserCreated, call once and record to which case it belongs. Only the 'both' and 'user only' combination are ever used. Change-Id: I9c15085bcbb4bf6584a6156135f2084dbfc51c1c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | RemoteLinux: Remove RemoteLinuxRunConfigFactory::canCreateHelper()hjk2018-02-092-6/+0
| | | | | | | | | | | | | | | | | | | | It's only called from RunConfigurationFactory::create() in a context where the possible option are restricted to availableBuildTargets(), i.e. the check always succeeds, and that's what the base implementation does. Change-Id: Ie05abb64da9e9c765afc8a61d83095a709bc5c68 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Remove BuildTargetInfo::displayNamehjk2018-02-091-2/+5
| | | | | | | | | | | | | | | | | | | | | | This was previously intented to be used in the RunConfig Add... menu, but this role is now taken by RunConfigurationCreationInfo::displayName. This fixes also a regression for setups that relied on QmakeProject::buildTargets() and a fix up empty display names later. Change-Id: If75fc79efbdedc918a126e50c962fc188d7a3ebc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>