forked from qt-creator/qt-creator
ProjectExplorer: Introduce and use convenience factory class
... to create SimpleTargetRunner runners for a single run config. Change-Id: I8af3d7cdcaf54f0584af948aa6e0fa015d1a3077 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -27,8 +27,7 @@ using namespace Core;
|
|||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
|
|
||||||
namespace MesonProjectManager {
|
namespace MesonProjectManager::Internal {
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
class MesonProjectPluginPrivate : public QObject
|
class MesonProjectPluginPrivate : public QObject
|
||||||
{
|
{
|
||||||
@@ -56,10 +55,8 @@ private:
|
|||||||
MesonRunConfigurationFactory m_runConfigurationFactory;
|
MesonRunConfigurationFactory m_runConfigurationFactory;
|
||||||
MesonActionsManager m_actions;
|
MesonActionsManager m_actions;
|
||||||
MachineFileManager m_machineFilesManager;
|
MachineFileManager m_machineFilesManager;
|
||||||
RunWorkerFactory
|
SimpleTargetRunnerFactory m_mesonRunWorkerFactory{{m_runConfigurationFactory.runConfigurationId()}};
|
||||||
m_mesonRunWorkerFactory{RunWorkerFactory::make<ProjectExplorer::SimpleTargetRunner>(),
|
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{m_runConfigurationFactory.runConfigurationId()}};
|
|
||||||
void saveAll()
|
void saveAll()
|
||||||
{
|
{
|
||||||
m_toolsSettings.saveMesonTools(MesonTools::tools(), ICore::dialogParent());
|
m_toolsSettings.saveMesonTools(MesonTools::tools(), ICore::dialogParent());
|
||||||
@@ -85,7 +82,6 @@ bool MesonProjectPlugin::initialize(const QStringList & /*arguments*/, QString *
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // MesonProjectManager::Internal
|
||||||
} // namespace MesonProjectManager
|
|
||||||
|
|
||||||
#include "mesonprojectplugin.moc"
|
#include "mesonprojectplugin.moc"
|
||||||
|
@@ -55,21 +55,9 @@ public:
|
|||||||
NimRunConfigurationFactory nimRunConfigFactory;
|
NimRunConfigurationFactory nimRunConfigFactory;
|
||||||
NimbleRunConfigurationFactory nimbleRunConfigFactory;
|
NimbleRunConfigurationFactory nimbleRunConfigFactory;
|
||||||
NimbleTestConfigurationFactory nimbleTestConfigFactory;
|
NimbleTestConfigurationFactory nimbleTestConfigFactory;
|
||||||
RunWorkerFactory nimRunWorkerFactory {
|
SimpleTargetRunnerFactory nimRunWorkerFactory{{nimRunConfigFactory.runConfigurationId()}};
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
SimpleTargetRunnerFactory nimbleRunWorkerFactory{{nimbleRunConfigFactory.runConfigurationId()}};
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
SimpleTargetRunnerFactory nimbleTestWorkerFactory{{nimbleTestConfigFactory.runConfigurationId()}};
|
||||||
{nimRunConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
RunWorkerFactory nimbleRunWorkerFactory {
|
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{nimbleRunConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
RunWorkerFactory nimbleTestWorkerFactory {
|
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{nimbleTestConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
NimbleBuildStepFactory nimbleBuildStepFactory;
|
NimbleBuildStepFactory nimbleBuildStepFactory;
|
||||||
NimbleTaskStepFactory nimbleTaskStepFactory;
|
NimbleTaskStepFactory nimbleTaskStepFactory;
|
||||||
NimCompilerBuildStepFactory buildStepFactory;
|
NimCompilerBuildStepFactory buildStepFactory;
|
||||||
|
@@ -719,14 +719,11 @@ public:
|
|||||||
DesktopQmakeRunConfigurationFactory qmakeRunConfigFactory;
|
DesktopQmakeRunConfigurationFactory qmakeRunConfigFactory;
|
||||||
QbsRunConfigurationFactory qbsRunConfigFactory;
|
QbsRunConfigurationFactory qbsRunConfigFactory;
|
||||||
CMakeRunConfigurationFactory cmakeRunConfigFactory;
|
CMakeRunConfigurationFactory cmakeRunConfigFactory;
|
||||||
|
SimpleTargetRunnerFactory desktopRunWorkerFactory{{
|
||||||
RunWorkerFactory desktopRunWorkerFactory{
|
qmakeRunConfigFactory.runConfigurationId(),
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
qbsRunConfigFactory.runConfigurationId(),
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
cmakeRunConfigFactory.runConfigurationId()
|
||||||
{qmakeRunConfigFactory.runConfigurationId(),
|
}};
|
||||||
qbsRunConfigFactory.runConfigurationId(),
|
|
||||||
cmakeRunConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
|
|
||||||
SanitizerOutputFormatterFactory sanitizerFormatterFactory;
|
SanitizerOutputFormatterFactory sanitizerFormatterFactory;
|
||||||
};
|
};
|
||||||
|
@@ -100,6 +100,11 @@ void RunWorkerFactory::setProducer(const WorkerCreator &producer)
|
|||||||
m_producer = producer;
|
m_producer = producer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RunWorkerFactory::setSupportedRunConfigs(const QList<Utils::Id> &runConfigs)
|
||||||
|
{
|
||||||
|
m_supportedRunConfigurations = runConfigs;
|
||||||
|
}
|
||||||
|
|
||||||
void RunWorkerFactory::addSupportedRunMode(Utils::Id runMode)
|
void RunWorkerFactory::addSupportedRunMode(Utils::Id runMode)
|
||||||
{
|
{
|
||||||
m_supportedRunModes.append(runMode);
|
m_supportedRunModes.append(runMode);
|
||||||
@@ -1892,6 +1897,15 @@ void OutputFormatterFactory::setFormatterCreator(const FormatterCreator &creator
|
|||||||
m_creator = creator;
|
m_creator = creator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SimpleTargetRunnerFactory
|
||||||
|
|
||||||
|
SimpleTargetRunnerFactory::SimpleTargetRunnerFactory(const QList<Id> &runConfigs)
|
||||||
|
{
|
||||||
|
setProduct<SimpleTargetRunner>();
|
||||||
|
addSupportedRunMode(ProjectExplorer::Constants::NORMAL_RUN_MODE);
|
||||||
|
setSupportedRunConfigs(runConfigs);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
|
||||||
#include "runcontrol.moc"
|
#include "runcontrol.moc"
|
||||||
|
@@ -137,6 +137,7 @@ protected:
|
|||||||
template <typename Worker>
|
template <typename Worker>
|
||||||
void setProduct() { setProducer([](RunControl *rc) { return new Worker(rc); }); }
|
void setProduct() { setProducer([](RunControl *rc) { return new Worker(rc); }); }
|
||||||
void setProducer(const WorkerCreator &producer);
|
void setProducer(const WorkerCreator &producer);
|
||||||
|
void setSupportedRunConfigs(const QList<Utils::Id> &runConfigs);
|
||||||
void addSupportedRunMode(Utils::Id runMode);
|
void addSupportedRunMode(Utils::Id runMode);
|
||||||
void addSupportedRunConfig(Utils::Id runConfig);
|
void addSupportedRunConfig(Utils::Id runConfig);
|
||||||
void addSupportedDeviceType(Utils::Id deviceType);
|
void addSupportedDeviceType(Utils::Id deviceType);
|
||||||
@@ -298,6 +299,12 @@ private:
|
|||||||
const std::unique_ptr<Internal::SimpleTargetRunnerPrivate> d;
|
const std::unique_ptr<Internal::SimpleTargetRunnerPrivate> d;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class PROJECTEXPLORER_EXPORT SimpleTargetRunnerFactory : public RunWorkerFactory
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit SimpleTargetRunnerFactory(const QList<Utils::Id> &runConfig);
|
||||||
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT OutputFormatterFactory
|
class PROJECTEXPLORER_EXPORT OutputFormatterFactory
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@@ -20,8 +20,7 @@
|
|||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace Python {
|
namespace Python::Internal {
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
static PythonPlugin *m_instance = nullptr;
|
static PythonPlugin *m_instance = nullptr;
|
||||||
|
|
||||||
@@ -33,13 +32,7 @@ public:
|
|||||||
PythonRunConfigurationFactory runConfigFactory;
|
PythonRunConfigurationFactory runConfigFactory;
|
||||||
PySideBuildStepFactory buildStepFactory;
|
PySideBuildStepFactory buildStepFactory;
|
||||||
PySideBuildConfigurationFactory buildConfigFactory;
|
PySideBuildConfigurationFactory buildConfigFactory;
|
||||||
|
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
|
||||||
RunWorkerFactory runWorkerFactory{
|
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{runConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
|
|
||||||
PythonSettings settings;
|
PythonSettings settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -81,5 +74,4 @@ void PythonPlugin::extensionsInitialized()
|
|||||||
TaskHub::addCategory(PythonErrorTaskCategory, "Python", true);
|
TaskHub::addCategory(PythonErrorTaskCategory, "Python", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // Python::Internal
|
||||||
} // namespace Python
|
|
||||||
|
@@ -51,8 +51,7 @@
|
|||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace QmlProjectManager {
|
namespace QmlProjectManager::Internal {
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
static bool isQmlDesigner(const ExtensionSystem::PluginSpec *spec)
|
static bool isQmlDesigner(const ExtensionSystem::PluginSpec *spec)
|
||||||
{
|
{
|
||||||
@@ -90,9 +89,7 @@ class QmlProjectPluginPrivate
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QmlProjectRunConfigurationFactory runConfigFactory;
|
QmlProjectRunConfigurationFactory runConfigFactory;
|
||||||
RunWorkerFactory runWorkerFactory{RunWorkerFactory::make<SimpleTargetRunner>(),
|
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{runConfigFactory.runConfigurationId()}};
|
|
||||||
QPointer<QMessageBox> lastMessageBox;
|
QPointer<QMessageBox> lastMessageBox;
|
||||||
QdsLandingPage *landingPage = nullptr;
|
QdsLandingPage *landingPage = nullptr;
|
||||||
QdsLandingPageWidget *landingPageWidget = nullptr;
|
QdsLandingPageWidget *landingPageWidget = nullptr;
|
||||||
@@ -457,5 +454,4 @@ Utils::FilePath QmlProjectPlugin::projectFilePath()
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // QmlProjectManager::Internal
|
||||||
} // namespace QmlProjectManager
|
|
||||||
|
@@ -102,12 +102,8 @@ public:
|
|||||||
QnxRunConfigurationFactory runConfigFactory;
|
QnxRunConfigurationFactory runConfigFactory;
|
||||||
QnxSettingsPage settingsPage;
|
QnxSettingsPage settingsPage;
|
||||||
QnxToolChainFactory toolChainFactory;
|
QnxToolChainFactory toolChainFactory;
|
||||||
|
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
|
||||||
|
|
||||||
RunWorkerFactory runWorkerFactory{
|
|
||||||
RunWorkerFactory::make<SimpleTargetRunner>(),
|
|
||||||
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
|
|
||||||
{runConfigFactory.runConfigurationId()}
|
|
||||||
};
|
|
||||||
RunWorkerFactory debugWorkerFactory{
|
RunWorkerFactory debugWorkerFactory{
|
||||||
RunWorkerFactory::make<QnxDebugSupport>(),
|
RunWorkerFactory::make<QnxDebugSupport>(),
|
||||||
{ProjectExplorer::Constants::DEBUG_RUN_MODE},
|
{ProjectExplorer::Constants::DEBUG_RUN_MODE},
|
||||||
|
Reference in New Issue
Block a user