RemoteLinux: Use the "install to local dir" step in derived plugins

That is, Boot2Qt and Qnx.

Task-number: QTCREATORBUG-22822
Change-Id: Id48069c6ee2bc857a94be173b6c1de9bc69404a8
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-09-26 14:27:41 +02:00
parent d4c0f9e510
commit d5f3335c5e
5 changed files with 20 additions and 8 deletions

View File

@@ -33,8 +33,9 @@
#include <projectexplorer/project.h>
#include <projectexplorer/target.h>
#include <remotelinux/remotelinuxcheckforfreediskspacestep.h>
#include <remotelinux/genericdirectuploadstep.h>
#include <remotelinux/makeinstallstep.h>
#include <remotelinux/remotelinuxcheckforfreediskspacestep.h>
#include <remotelinux/remotelinuxdeployconfiguration.h>
using namespace ProjectExplorer;
@@ -51,6 +52,11 @@ QdbDeployConfigurationFactory::QdbDeployConfigurationFactory()
"Deploy to Boot2Qt target"));
setUseDeploymentDataView();
addInitialStep(RemoteLinux::MakeInstallStep::stepId(), [](Target *target) {
const Project * const prj = target->project();
return prj->deploymentKnowledge() == DeploymentKnowledge::Bad
&& prj->hasMakeInstallEquivalent();
});
addInitialStep(RemoteLinuxCheckForFreeDiskSpaceStep::stepId());
addInitialStep(QdbStopApplicationStep::stepId());
addInitialStep(GenericDirectUploadStep::stepId());

View File

@@ -46,6 +46,7 @@
#include <remotelinux/remotelinuxcheckforfreediskspacestep.h>
#include <remotelinux/genericdirectuploadstep.h>
#include <remotelinux/makeinstallstep.h>
#include <utils/hostosinfo.h>
#include <utils/fileutils.h>
@@ -175,8 +176,8 @@ public:
QdbDeployStepFactory<RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep>
m_checkForFreeDiskSpaceStepFactory;
QdbDeployStepFactory<RemoteLinux::GenericDirectUploadStep>
m_directUploadStepFactory;
QdbDeployStepFactory<RemoteLinux::GenericDirectUploadStep> m_directUploadStepFactory;
QdbDeployStepFactory<RemoteLinux::MakeInstallStep> m_makeInstallStepFactory;
const QList<Core::Id> supportedRunConfigs {
m_runConfigFactory.id(),

View File

@@ -55,6 +55,7 @@
#include <projectexplorer/toolchain.h>
#include <remotelinux/genericdirectuploadstep.h>
#include <remotelinux/makeinstallstep.h>
#include <remotelinux/remotelinuxcheckforfreediskspacestep.h>
#include <qtsupport/qtkitinformation.h>
@@ -90,6 +91,11 @@ public:
addSupportedTargetDeviceType(Constants::QNX_QNX_OS_TYPE);
setUseDeploymentDataView();
addInitialStep(RemoteLinux::MakeInstallStep::stepId(), [](Target *target) {
const Project * const prj = target->project();
return prj->deploymentKnowledge() == DeploymentKnowledge::Bad
&& prj->hasMakeInstallEquivalent();
});
addInitialStep(DeviceCheckBuildStep::stepId());
addInitialStep(RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep::stepId());
addInitialStep(RemoteLinux::GenericDirectUploadStep::stepId());
@@ -110,6 +116,7 @@ public:
QnxDeployConfigurationFactory deployConfigFactory;
GenericQnxDeployStepFactory<RemoteLinux::GenericDirectUploadStep> directUploadDeployFactory;
GenericQnxDeployStepFactory<RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep> checkForFreeDiskSpaceDeployFactory;
GenericQnxDeployStepFactory<RemoteLinux::MakeInstallStep> makeInstallDeployFactory;
GenericQnxDeployStepFactory<DeviceCheckBuildStep> checkBuildDeployFactory;
QnxRunConfigurationFactory runConfigFactory;
QnxSettingsPage settingsPage;

View File

@@ -45,7 +45,6 @@ using namespace ProjectExplorer;
using namespace Utils;
namespace RemoteLinux {
namespace Internal {
const char MakeAspectId[] = "RemoteLinux.MakeInstall.Make";
const char InstallRootAspectId[] = "RemoteLinux.MakeInstall.InstallRoot";
@@ -228,5 +227,4 @@ bool MakeInstallStep::fromMap(const QVariantMap &map)
return true;
}
} // namespace Internal
} // namespace RemoteLinux

View File

@@ -25,15 +25,16 @@
#pragma once
#include "remotelinux_export.h"
#include <projectexplorer/deploymentdata.h>
#include <projectexplorer/makestep.h>
namespace Utils { class FilePath; }
namespace RemoteLinux {
namespace Internal {
class MakeInstallStep : public ProjectExplorer::MakeStep
class REMOTELINUX_EXPORT MakeInstallStep : public ProjectExplorer::MakeStep
{
Q_OBJECT
public:
@@ -62,5 +63,4 @@ private:
bool m_isCmakeProject = false;
};
} // namespace Internal
} // namespace RemoteLinux