iOS: Move IosDeploy*Factory to plugin

Change-Id: I752a497ce95609cfb92207e1dfbc6cf91ffa9f3c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-01-30 17:30:24 +01:00
parent 868160f215
commit 9d046826f8
7 changed files with 31 additions and 187 deletions

View File

@@ -29,8 +29,7 @@
#include "iosbuildstep.h"
#include "iosconfigurations.h"
#include "iosconstants.h"
#include "iosdeployconfiguration.h"
#include "iosdeploystepfactory.h"
#include "iosdeploystep.h"
#include "iosdevicefactory.h"
#include "iosdsymbuildstep.h"
#include "iosqtversionfactory.h"
@@ -41,10 +40,13 @@
#include "iostoolhandler.h"
#include "iosrunconfiguration.h"
#include <projectexplorer/deployconfiguration.h>
#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/runconfiguration.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
#include <qtsupport/qtversionmanager.h>
using namespace ProjectExplorer;
@@ -55,6 +57,33 @@ namespace Internal {
Q_LOGGING_CATEGORY(iosLog, "qtc.ios.common", QtWarningMsg)
class IosDeployStepFactory : public BuildStepFactory
{
public:
IosDeployStepFactory()
{
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});
setRepeatable(false);
}
};
class IosDeployConfigurationFactory : public DeployConfigurationFactory
{
public:
IosDeployConfigurationFactory()
{
setConfigBaseId("Qt4ProjectManager.IosDeployConfiguration");
setSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE);
addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE);
setDefaultDisplayName(QCoreApplication::translate("Ios::Internal", "Deploy on iOS"));
addInitialStep(IosDeployStep::stepId());
}
};
class IosPluginPrivate
{
public: