diff --git a/src/plugins/boot2qt/CMakeLists.txt b/src/plugins/boot2qt/CMakeLists.txt index ba8faecd31b..156150422b6 100644 --- a/src/plugins/boot2qt/CMakeLists.txt +++ b/src/plugins/boot2qt/CMakeLists.txt @@ -6,7 +6,6 @@ add_qtc_plugin(Boot2Qt qdb.qrc qdb_global.h qdbconstants.h - qdbdeployconfigurationfactory.cpp qdbdeployconfigurationfactory.h qdbdevice.cpp qdbdevice.h qdbdevicedebugsupport.cpp qdbdevicedebugsupport.h qdbmakedefaultappstep.cpp qdbmakedefaultappstep.h diff --git a/src/plugins/boot2qt/boot2qt.qbs b/src/plugins/boot2qt/boot2qt.qbs index ba2a5cd6dc8..6be777e17c1 100644 --- a/src/plugins/boot2qt/boot2qt.qbs +++ b/src/plugins/boot2qt/boot2qt.qbs @@ -21,8 +21,6 @@ QtcPlugin { "qdbutils.h", "qdbconstants.h", "qdb_global.h", - "qdbdeployconfigurationfactory.cpp", - "qdbdeployconfigurationfactory.h", "qdbdevice.cpp", "qdbdevice.h", "qdbdevicedebugsupport.cpp", diff --git a/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp b/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp deleted file mode 100644 index b5a58792985..00000000000 --- a/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (C) 2019 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include "qdbdeployconfigurationfactory.h" - -#include "qdbconstants.h" -#include "qdbtr.h" - -#include -#include -#include -#include -#include -#include - -#include - -using namespace ProjectExplorer; - -namespace Qdb::Internal { - -QdbDeployConfigurationFactory::QdbDeployConfigurationFactory() -{ - setConfigBaseId(Constants::QdbDeployConfigurationId); - addSupportedTargetDeviceType(Constants::QdbLinuxOsType); - setDefaultDisplayName(Tr::tr("Deploy to Boot2Qt target")); - setUseDeploymentDataView(); - - addInitialStep(RemoteLinux::Constants::MakeInstallStepId, [](Target *target) { - const Project * const prj = target->project(); - return prj->deploymentKnowledge() == DeploymentKnowledge::Bad - && prj->hasMakeInstallEquivalent(); - }); - addInitialStep(Qdb::Constants::QdbStopApplicationStepId); - addInitialStep(RemoteLinux::Constants::RsyncDeployStepId, [](Target *target) { - auto device = DeviceKitAspect::device(target->kit()); - auto buildDevice = BuildDeviceKitAspect::device(target->kit()); - if (buildDevice && buildDevice->rootPath().needsDevice()) - return false; - return !device - || (device && device->extraData(ProjectExplorer::Constants::SUPPORTS_RSYNC).toBool()); - }); - addInitialStep(RemoteLinux::Constants::DirectUploadStepId, [](Target *target) { - auto device = DeviceKitAspect::device(target->kit()); - auto buildDevice = BuildDeviceKitAspect::device(target->kit()); - if (buildDevice && buildDevice->rootPath().needsDevice()) - return false; - return device && !device->extraData(ProjectExplorer::Constants::SUPPORTS_RSYNC).toBool(); - }); - // This step is for: - // a) A remote build device, as they do not support real rsync yet. - // b) If there is no target device setup yet. - addInitialStep(RemoteLinux::Constants::DirectUploadStepId, [](Target *target) { - auto device = DeviceKitAspect::device(target->kit()); - auto buildDevice = BuildDeviceKitAspect::device(target->kit()); - if (buildDevice && buildDevice->rootPath().needsDevice()) - return true; - return false; - }); -} - -} // Qdb::Internal diff --git a/src/plugins/boot2qt/qdbdeployconfigurationfactory.h b/src/plugins/boot2qt/qdbdeployconfigurationfactory.h deleted file mode 100644 index fa006613979..00000000000 --- a/src/plugins/boot2qt/qdbdeployconfigurationfactory.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (C) 2019 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include - -namespace Qdb::Internal { - -class QdbDeployConfigurationFactory final : public ProjectExplorer::DeployConfigurationFactory -{ -public: - QdbDeployConfigurationFactory(); -}; - -} // Qdb::Internal diff --git a/src/plugins/boot2qt/qdbplugin.cpp b/src/plugins/boot2qt/qdbplugin.cpp index 4d0eef65acf..6557be0db66 100644 --- a/src/plugins/boot2qt/qdbplugin.cpp +++ b/src/plugins/boot2qt/qdbplugin.cpp @@ -5,7 +5,6 @@ #include "device-detection/devicedetector.h" #include "qdbconstants.h" -#include "qdbdeployconfigurationfactory.h" #include "qdbdevice.h" #include "qdbstopapplicationstep.h" #include "qdbmakedefaultappstep.h" @@ -19,9 +18,11 @@ #include #include +#include #include #include #include +#include #include #include @@ -107,6 +108,50 @@ public: } }; +class QdbDeployConfigurationFactory final : public DeployConfigurationFactory +{ +public: + QdbDeployConfigurationFactory() + { + setConfigBaseId(Constants::QdbDeployConfigurationId); + addSupportedTargetDeviceType(Constants::QdbLinuxOsType); + setDefaultDisplayName(Tr::tr("Deploy to Boot2Qt target")); + setUseDeploymentDataView(); + + addInitialStep(RemoteLinux::Constants::MakeInstallStepId, [](Target *target) { + const Project * const prj = target->project(); + return prj->deploymentKnowledge() == DeploymentKnowledge::Bad + && prj->hasMakeInstallEquivalent(); + }); + addInitialStep(Qdb::Constants::QdbStopApplicationStepId); + addInitialStep(RemoteLinux::Constants::RsyncDeployStepId, [](Target *target) { + auto device = DeviceKitAspect::device(target->kit()); + auto buildDevice = BuildDeviceKitAspect::device(target->kit()); + if (buildDevice && buildDevice->rootPath().needsDevice()) + return false; + return !device || (device + && device->extraData(ProjectExplorer::Constants::SUPPORTS_RSYNC).toBool()); + }); + addInitialStep(RemoteLinux::Constants::DirectUploadStepId, [](Target *target) { + auto device = DeviceKitAspect::device(target->kit()); + auto buildDevice = BuildDeviceKitAspect::device(target->kit()); + if (buildDevice && buildDevice->rootPath().needsDevice()) + return false; + return device && !device->extraData(ProjectExplorer::Constants::SUPPORTS_RSYNC).toBool(); + }); + // This step is for: + // a) A remote build device, as they do not support real rsync yet. + // b) If there is no target device setup yet. + addInitialStep(RemoteLinux::Constants::DirectUploadStepId, [](Target *target) { + auto device = DeviceKitAspect::device(target->kit()); + auto buildDevice = BuildDeviceKitAspect::device(target->kit()); + if (buildDevice && buildDevice->rootPath().needsDevice()) + return true; + return false; + }); + } +}; + class QdbPluginPrivate : public QObject { public: