IncrediBuild: Use newest plugin setup pattern

Change-Id: I520d3bfbfa1bac2672b92a8e4876aeacb9d67392
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2024-10-18 13:32:13 +02:00
parent 4fd716ff09
commit 708c2d4f36
5 changed files with 33 additions and 35 deletions

View File

@@ -298,12 +298,21 @@ void BuildConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter)
// BuildConsoleStepFactory // BuildConsoleStepFactory
BuildConsoleStepFactory::BuildConsoleStepFactory() class BuildConsoleStepFactory final : public BuildStepFactory
{ {
registerStep<BuildConsoleBuildStep>(IncrediBuild::Constants::BUILDCONSOLE_BUILDSTEP_ID); public:
setDisplayName(Tr::tr("IncrediBuild for Windows")); BuildConsoleStepFactory()
setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, {
ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); registerStep<BuildConsoleBuildStep>(IncrediBuild::Constants::BUILDCONSOLE_BUILDSTEP_ID);
setDisplayName(Tr::tr("IncrediBuild for Windows"));
setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD,
ProjectExplorer::Constants::BUILDSTEPS_CLEAN});
}
};
void setupBuildConsoleStep()
{
static BuildConsoleStepFactory theBuildConsoleStepFactory;
} }
} // IncrediBuild::Internal } // IncrediBuild::Internal

View File

@@ -3,14 +3,8 @@
#pragma once #pragma once
#include <projectexplorer/buildstep.h>
namespace IncrediBuild::Internal { namespace IncrediBuild::Internal {
class BuildConsoleStepFactory final : public ProjectExplorer::BuildStepFactory void setupBuildConsoleStep();
{
public:
BuildConsoleStepFactory();
};
} // IncrediBuild::Internal } // IncrediBuild::Internal

View File

@@ -100,12 +100,21 @@ void IBConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter)
// IBConsoleStepFactory // IBConsoleStepFactory
IBConsoleStepFactory::IBConsoleStepFactory() class IBConsoleStepFactory final : public BuildStepFactory
{ {
registerStep<IBConsoleBuildStep>(IncrediBuild::Constants::IBCONSOLE_BUILDSTEP_ID); public:
setDisplayName(Tr::tr("IncrediBuild for Linux")); IBConsoleStepFactory()
setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, {
ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); registerStep<IBConsoleBuildStep>(IncrediBuild::Constants::IBCONSOLE_BUILDSTEP_ID);
setDisplayName(Tr::tr("IncrediBuild for Linux"));
setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD,
ProjectExplorer::Constants::BUILDSTEPS_CLEAN});
}
};
void setupIBConsoleStep()
{
static IBConsoleStepFactory theIBConsoleStepFactory;
} }
} // IncrediBuild::Internal } // IncrediBuild::Internal

View File

@@ -3,14 +3,8 @@
#pragma once #pragma once
#include <projectexplorer/buildstep.h>
namespace IncrediBuild::Internal { namespace IncrediBuild::Internal {
class IBConsoleStepFactory : public ProjectExplorer::BuildStepFactory void setupIBConsoleStep();
{
public:
IBConsoleStepFactory();
};
} // IncrediBuild::Internal } // IncrediBuild::Internal

View File

@@ -8,25 +8,17 @@
namespace IncrediBuild::Internal { namespace IncrediBuild::Internal {
class IncrediBuildPluginPrivate
{
public:
BuildConsoleStepFactory buildConsoleStepFactory;
IBConsoleStepFactory ibConsolStepFactory;
};
class IncrediBuildPlugin final : public ExtensionSystem::IPlugin class IncrediBuildPlugin final : public ExtensionSystem::IPlugin
{ {
Q_OBJECT Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "IncrediBuild.json") Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "IncrediBuild.json")
public: public:
void initialize() override void initialize() final
{ {
d = std::make_unique<IncrediBuildPluginPrivate>(); setupBuildConsoleStep();
setupIBConsoleStep();
} }
std::unique_ptr<IncrediBuildPluginPrivate> d;
}; };
} // IncrediBuild::Internal } // IncrediBuild::Internal