forked from qt-creator/qt-creator
Python: Use setup function for build related factories
Change-Id: I3b1faad8a5f3ead1332941d31509c3efd3806f78 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -44,14 +44,6 @@ using namespace Utils;
|
|||||||
|
|
||||||
namespace Python::Internal {
|
namespace Python::Internal {
|
||||||
|
|
||||||
PySideBuildStepFactory::PySideBuildStepFactory()
|
|
||||||
{
|
|
||||||
registerStep<PySideBuildStep>(PySideBuildStep::id());
|
|
||||||
setSupportedProjectType(PythonProjectId);
|
|
||||||
setDisplayName(Tr::tr("Run PySide6 project tool"));
|
|
||||||
setFlags(BuildStep::UniqueStep);
|
|
||||||
}
|
|
||||||
|
|
||||||
PySideBuildStep::PySideBuildStep(BuildStepList *bsl, Id id)
|
PySideBuildStep::PySideBuildStep(BuildStepList *bsl, Id id)
|
||||||
: AbstractProcessStep(bsl, id)
|
: AbstractProcessStep(bsl, id)
|
||||||
{
|
{
|
||||||
@@ -245,6 +237,25 @@ private:
|
|||||||
DetailsWidget *m_configureDetailsWidget;
|
DetailsWidget *m_configureDetailsWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class PySideBuildStepFactory final : public BuildStepFactory
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PySideBuildStepFactory()
|
||||||
|
{
|
||||||
|
registerStep<PySideBuildStep>(PySideBuildStep::id());
|
||||||
|
setSupportedProjectType(PythonProjectId);
|
||||||
|
setDisplayName(Tr::tr("Run PySide6 project tool"));
|
||||||
|
setFlags(BuildStep::UniqueStep);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void setupPySideBuildStep()
|
||||||
|
{
|
||||||
|
static PySideBuildStepFactory thePySideBuildStepFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
// PythonBuildConfiguration
|
||||||
|
|
||||||
PythonBuildConfiguration::PythonBuildConfiguration(Target *target, const Id &id)
|
PythonBuildConfiguration::PythonBuildConfiguration(Target *target, const Id &id)
|
||||||
: BuildConfiguration(target, id)
|
: BuildConfiguration(target, id)
|
||||||
, m_buildSystem(std::make_unique<PythonBuildSystem>(this))
|
, m_buildSystem(std::make_unique<PythonBuildSystem>(this))
|
||||||
@@ -378,8 +389,11 @@ std::optional<FilePath> PythonBuildConfiguration::venv() const
|
|||||||
return m_venv;
|
return m_venv;
|
||||||
}
|
}
|
||||||
|
|
||||||
PythonBuildConfigurationFactory::PythonBuildConfigurationFactory()
|
class PythonBuildConfigurationFactory final : public BuildConfigurationFactory
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
PythonBuildConfigurationFactory()
|
||||||
|
{
|
||||||
registerBuildConfiguration<PythonBuildConfiguration>("Python.PySideBuildConfiguration");
|
registerBuildConfiguration<PythonBuildConfiguration>("Python.PySideBuildConfiguration");
|
||||||
setSupportedProjectType(PythonProjectId);
|
setSupportedProjectType(PythonProjectId);
|
||||||
setSupportedProjectMimeTypeName(Constants::C_PY_PROJECT_MIME_TYPE);
|
setSupportedProjectMimeTypeName(Constants::C_PY_PROJECT_MIME_TYPE);
|
||||||
@@ -410,6 +424,12 @@ PythonBuildConfigurationFactory::PythonBuildConfigurationFactory()
|
|||||||
}
|
}
|
||||||
return QList<BuildInfo>{};
|
return QList<BuildInfo>{};
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void setupPythonBuildConfiguration()
|
||||||
|
{
|
||||||
|
static PythonBuildConfigurationFactory thePythonBuildConfigurationFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // Python::Internal
|
} // Python::Internal
|
||||||
|
@@ -46,12 +46,6 @@ private:
|
|||||||
QList<PySideUicExtraCompiler *> m_extraCompilers;
|
QList<PySideUicExtraCompiler *> m_extraCompilers;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PySideBuildStepFactory : public ProjectExplorer::BuildStepFactory
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
PySideBuildStepFactory();
|
|
||||||
};
|
|
||||||
|
|
||||||
class PythonBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
class PythonBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@@ -77,10 +71,7 @@ private:
|
|||||||
std::unique_ptr<PythonBuildSystem> m_buildSystem;
|
std::unique_ptr<PythonBuildSystem> m_buildSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PythonBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory
|
void setupPySideBuildStep();
|
||||||
{
|
void setupPythonBuildConfiguration();
|
||||||
public:
|
|
||||||
PythonBuildConfigurationFactory();
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Python::Internal
|
} // namespace Python::Internal
|
||||||
|
@@ -44,8 +44,6 @@ class PythonPluginPrivate
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PythonRunConfigurationFactory runConfigFactory;
|
PythonRunConfigurationFactory runConfigFactory;
|
||||||
PySideBuildStepFactory buildStepFactory;
|
|
||||||
PythonBuildConfigurationFactory buildConfigFactory;
|
|
||||||
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
|
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
|
||||||
SimpleDebugRunnerFactory debugRunWorkerFactory{{runConfigFactory.runConfigurationId()}, {ProjectExplorer::Constants::DAP_PY_DEBUG_RUN_MODE}};
|
SimpleDebugRunnerFactory debugRunWorkerFactory{{runConfigFactory.runConfigurationId()}, {ProjectExplorer::Constants::DAP_PY_DEBUG_RUN_MODE}};
|
||||||
PythonSettings settings;
|
PythonSettings settings;
|
||||||
@@ -76,6 +74,9 @@ private:
|
|||||||
|
|
||||||
setupPythonEditorFactory(this);
|
setupPythonEditorFactory(this);
|
||||||
|
|
||||||
|
setupPySideBuildStep();
|
||||||
|
setupPythonBuildConfiguration();
|
||||||
|
|
||||||
setupPythonOutputParser();
|
setupPythonOutputParser();
|
||||||
|
|
||||||
KitManager::setIrrelevantAspects(KitManager::irrelevantAspects()
|
KitManager::setIrrelevantAspects(KitManager::irrelevantAspects()
|
||||||
|
Reference in New Issue
Block a user