diff options
author | hjk <hjk@qt.io> | 2019-01-18 11:32:53 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-01-21 12:05:28 +0000 |
commit | 372fbf9c05a5fc8e0c55e9aaf51b413c4fe27eff (patch) | |
tree | 5c762c004bb121f2feafb07e9565605d14e31289 | |
parent | 910496130cfc3d68ff6b7ae992f8cffe6d49b6da (diff) |
Use new DeployConfigurationFactory::addInitialStep in some cases
Less code, less classes.
Change-Id: I3ba9920f4f389e14c67cd8c5d937a4b4659865e7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | src/plugins/android/androiddeployconfiguration.cpp | 15 | ||||
-rw-r--r-- | src/plugins/android/androiddeployconfiguration.h | 9 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.cpp | 10 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.h | 2 | ||||
-rw-r--r-- | src/plugins/ios/iosdeployconfiguration.cpp | 15 | ||||
-rw-r--r-- | src/plugins/ios/iosdeployconfiguration.h | 9 | ||||
-rw-r--r-- | src/plugins/ios/iosdeploystep.cpp | 9 | ||||
-rw-r--r-- | src/plugins/ios/iosdeploystep.h | 1 | ||||
-rw-r--r-- | src/plugins/ios/iosdeploystepfactory.cpp | 2 | ||||
-rw-r--r-- | src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp | 23 | ||||
-rw-r--r-- | src/plugins/remotelinux/remotelinuxdeployconfiguration.h | 2 |
11 files changed, 35 insertions, 62 deletions
diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp index a10bbd8e431..32c11305daa 100644 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ b/src/plugins/android/androiddeployconfiguration.cpp @@ -43,21 +43,14 @@ using namespace ProjectExplorer; namespace Android { namespace Internal { -AndroidDeployConfiguration::AndroidDeployConfiguration(Target *parent, Core::Id id) - : DeployConfiguration(parent, id) -{} - -void AndroidDeployConfiguration::initialize() -{ - stepList()->appendStep(new AndroidDeployQtStep(stepList())); -} - AndroidDeployConfigurationFactory::AndroidDeployConfigurationFactory() { - registerDeployConfiguration<AndroidDeployConfiguration> + registerDeployConfiguration<DeployConfiguration> ("Qt4ProjectManager.AndroidDeployConfiguration2"); addSupportedTargetDeviceType(Constants::ANDROID_DEVICE_TYPE); - setDefaultDisplayName(AndroidDeployConfiguration::tr("Deploy to Android device")); + setDefaultDisplayName(QCoreApplication::translate("Android::Internal", + "Deploy to Android device")); + addInitialStep(AndroidDeployQtStep::stepId()); } bool AndroidDeployConfigurationFactory::canHandle(Target *parent) const diff --git a/src/plugins/android/androiddeployconfiguration.h b/src/plugins/android/androiddeployconfiguration.h index e12fdfbc81d..c9064c74822 100644 --- a/src/plugins/android/androiddeployconfiguration.h +++ b/src/plugins/android/androiddeployconfiguration.h @@ -30,15 +30,6 @@ namespace Android { namespace Internal { -class AndroidDeployConfiguration : public ProjectExplorer::DeployConfiguration -{ - Q_OBJECT - -public: - AndroidDeployConfiguration(ProjectExplorer::Target *parent, Core::Id id); - void initialize() override; -}; - class AndroidDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory { public: diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 8a681f7b281..cc80af4a31f 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -72,7 +72,6 @@ const QLatin1String InstallFailedInconsistentCertificatesString("INSTALL_PARSE_F const QLatin1String InstallFailedUpdateIncompatible("INSTALL_FAILED_UPDATE_INCOMPATIBLE"); const QLatin1String InstallFailedPermissionModelDowngrade("INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE"); const QLatin1String InstallFailedVersionDowngrade("INSTALL_FAILED_VERSION_DOWNGRADE"); -const Core::Id AndroidDeployQtStep::Id("Qt4ProjectManager.AndroidDeployQtStep"); static const char *qmlProjectRunConfigIdName = "QmlProjectManager.QmlRunConfiguration"; @@ -80,7 +79,7 @@ static const char *qmlProjectRunConfigIdName = "QmlProjectManager.QmlRunConfigur AndroidDeployQtStepFactory::AndroidDeployQtStepFactory() { - registerStep<AndroidDeployQtStep>(AndroidDeployQtStep::Id); + registerStep<AndroidDeployQtStep>(AndroidDeployQtStep::stepId()); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY); setSupportedDeviceType(Constants::ANDROID_DEVICE_TYPE); setRepeatable(false); @@ -90,7 +89,7 @@ AndroidDeployQtStepFactory::AndroidDeployQtStepFactory() // AndroidDeployQtStep AndroidDeployQtStep::AndroidDeployQtStep(ProjectExplorer::BuildStepList *parent) - : ProjectExplorer::BuildStep(parent, Id) + : ProjectExplorer::BuildStep(parent, stepId()) { setImmutable(true); m_uninstallPreviousPackage = QtSupport::QtKitInformation::qtVersion(target()->kit())->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0); @@ -106,6 +105,11 @@ AndroidDeployQtStep::AndroidDeployQtStep(ProjectExplorer::BuildStepList *parent) this, &AndroidDeployQtStep::slotSetSerialNumber); } +Core::Id AndroidDeployQtStep::stepId() +{ + return "Qt4ProjectManager.AndroidDeployQtStep"; +} + bool AndroidDeployQtStep::init() { m_androiddeployqtArgs.clear(); diff --git a/src/plugins/android/androiddeployqtstep.h b/src/plugins/android/androiddeployqtstep.h index a8d6739bb05..55df8185057 100644 --- a/src/plugins/android/androiddeployqtstep.h +++ b/src/plugins/android/androiddeployqtstep.h @@ -73,6 +73,8 @@ public: public: explicit AndroidDeployQtStep(ProjectExplorer::BuildStepList *bc); + static Core::Id stepId(); + bool fromMap(const QVariantMap &map) override; QVariantMap toMap() const override; diff --git a/src/plugins/ios/iosdeployconfiguration.cpp b/src/plugins/ios/iosdeployconfiguration.cpp index 72ae34d28a5..1701d81f91f 100644 --- a/src/plugins/ios/iosdeployconfiguration.cpp +++ b/src/plugins/ios/iosdeployconfiguration.cpp @@ -37,23 +37,14 @@ using namespace ProjectExplorer; namespace Ios { namespace Internal { -IosDeployConfiguration::IosDeployConfiguration(Target *parent, Core::Id id) - : DeployConfiguration(parent, id) -{ -} - -void IosDeployConfiguration::initialize() -{ - stepList()->appendStep(new IosDeployStep(stepList())); -} - IosDeployConfigurationFactory::IosDeployConfigurationFactory() { - registerDeployConfiguration<IosDeployConfiguration>("Qt4ProjectManager.IosDeployConfiguration"); + registerDeployConfiguration<DeployConfiguration>("Qt4ProjectManager.IosDeployConfiguration"); setSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID); addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE); addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE); - setDefaultDisplayName(IosDeployConfiguration::tr("Deploy on iOS")); + setDefaultDisplayName(QCoreApplication::translate("Ios::Internal", "Deploy on iOS")); + addInitialStep(IosDeployStep::stepId()); } } // namespace Internal diff --git a/src/plugins/ios/iosdeployconfiguration.h b/src/plugins/ios/iosdeployconfiguration.h index bc8c323843f..ad351ac1d25 100644 --- a/src/plugins/ios/iosdeployconfiguration.h +++ b/src/plugins/ios/iosdeployconfiguration.h @@ -30,15 +30,6 @@ namespace Ios { namespace Internal { -class IosDeployConfiguration : public ProjectExplorer::DeployConfiguration -{ - Q_OBJECT - -public: - IosDeployConfiguration(ProjectExplorer::Target *parent, Core::Id id); - void initialize() override; -}; - class IosDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory { public: diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp index 747ab741227..ff9e376cfe0 100644 --- a/src/plugins/ios/iosdeploystep.cpp +++ b/src/plugins/ios/iosdeploystep.cpp @@ -54,10 +54,8 @@ using namespace ProjectExplorer; namespace Ios { namespace Internal { -const Core::Id IosDeployStep::Id("Qt4ProjectManager.IosDeployStep"); - IosDeployStep::IosDeployStep(BuildStepList *parent) - : BuildStep(parent, Id) + : BuildStep(parent, stepId()) { setImmutable(true); setRunInGuiThread(true); @@ -68,6 +66,11 @@ IosDeployStep::IosDeployStep(BuildStepList *parent) this, &IosDeployStep::updateDisplayNames); } +Core::Id IosDeployStep::stepId() +{ + return "Qt4ProjectManager.IosDeployStep"; +} + void IosDeployStep::updateDisplayNames() { IDevice::ConstPtr dev = diff --git a/src/plugins/ios/iosdeploystep.h b/src/plugins/ios/iosdeploystep.h index 33d59bf4028..d3be8937124 100644 --- a/src/plugins/ios/iosdeploystep.h +++ b/src/plugins/ios/iosdeploystep.h @@ -52,6 +52,7 @@ public: friend class IosDeployStepFactory; explicit IosDeployStep(ProjectExplorer::BuildStepList *bc); + static Core::Id stepId(); bool fromMap(const QVariantMap &map) override; QVariantMap toMap() const override; diff --git a/src/plugins/ios/iosdeploystepfactory.cpp b/src/plugins/ios/iosdeploystepfactory.cpp index cb748edd94d..bd92f96aac0 100644 --- a/src/plugins/ios/iosdeploystepfactory.cpp +++ b/src/plugins/ios/iosdeploystepfactory.cpp @@ -35,7 +35,7 @@ namespace Internal { IosDeployStepFactory::IosDeployStepFactory() { - registerStep<IosDeployStep>(IosDeployStep::Id); + registerStep<IosDeployStep>(IosDeployStep::stepId()); setDisplayName(IosDeployStep::tr("Deploy to iOS device or emulator")); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY); setSupportedDeviceTypes({Constants::IOS_DEVICE_TYPE, Constants::IOS_SIMULATOR_TYPE}); diff --git a/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp b/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp index c452bfc3743..cf5767af484 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxdeployconfiguration.cpp @@ -50,18 +50,6 @@ RemoteLinuxDeployConfiguration::RemoteLinuxDeployConfiguration(Target *target, C : DeployConfiguration(target, id) {} -void RemoteLinuxDeployConfiguration::initialize() -{ - stepList()->appendStep(new RemoteLinuxCheckForFreeDiskSpaceStep(stepList())); - stepList()->appendStep(new RemoteLinuxKillAppStep(stepList())); - const LinuxDevice::ConstPtr device = DeviceKitInformation::device(target()->kit()) - .staticCast<const LinuxDevice>(); - if (device && device->supportsRSync()) - stepList()->appendStep(new RsyncDeployStep(stepList())); - else - stepList()->appendStep(new GenericDirectUploadStep(stepList())); -} - NamedWidget *RemoteLinuxDeployConfiguration::createConfigWidget() { return new DeploymentDataView(target()); @@ -81,6 +69,17 @@ RemoteLinuxDeployConfigurationFactory::RemoteLinuxDeployConfigurationFactory() addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); setDefaultDisplayName(QCoreApplication::translate("RemoteLinux", "Deploy to Remote Linux Host")); + + addInitialStep(RemoteLinuxCheckForFreeDiskSpaceStep::stepId()); + addInitialStep(RemoteLinuxKillAppStep::stepId()); + addInitialStep(RsyncDeployStep::stepId(), [](Target *target) { + auto device = DeviceKitInformation::device(target->kit()).staticCast<const LinuxDevice>(); + return device && device->supportsRSync(); + }); + addInitialStep(GenericDirectUploadStep::stepId(), [](Target *target) { + auto device = DeviceKitInformation::device(target->kit()).staticCast<const LinuxDevice>(); + return device && !device->supportsRSync(); + }); } } // namespace Internal diff --git a/src/plugins/remotelinux/remotelinuxdeployconfiguration.h b/src/plugins/remotelinux/remotelinuxdeployconfiguration.h index a1f7506f359..7033e100077 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxdeployconfiguration.h @@ -55,8 +55,6 @@ public: } return 0; } - - void initialize() override; }; namespace Internal { |