From 708c2d4f36fe14b19657dcc1c9588eb52cb12ffb Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 18 Oct 2024 13:32:13 +0200 Subject: [PATCH] IncrediBuild: Use newest plugin setup pattern Change-Id: I520d3bfbfa1bac2672b92a8e4876aeacb9d67392 Reviewed-by: Christian Stenger --- .../incredibuild/buildconsolebuildstep.cpp | 19 ++++++++++++++----- .../incredibuild/buildconsolebuildstep.h | 8 +------- .../incredibuild/ibconsolebuildstep.cpp | 19 ++++++++++++++----- src/plugins/incredibuild/ibconsolebuildstep.h | 8 +------- .../incredibuild/incredibuildplugin.cpp | 14 +++----------- 5 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/plugins/incredibuild/buildconsolebuildstep.cpp b/src/plugins/incredibuild/buildconsolebuildstep.cpp index 2b8bcd2185a..280382b1422 100644 --- a/src/plugins/incredibuild/buildconsolebuildstep.cpp +++ b/src/plugins/incredibuild/buildconsolebuildstep.cpp @@ -298,12 +298,21 @@ void BuildConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter) // BuildConsoleStepFactory -BuildConsoleStepFactory::BuildConsoleStepFactory() +class BuildConsoleStepFactory final : public BuildStepFactory { - registerStep(IncrediBuild::Constants::BUILDCONSOLE_BUILDSTEP_ID); - setDisplayName(Tr::tr("IncrediBuild for Windows")); - setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, - ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); +public: + BuildConsoleStepFactory() + { + registerStep(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 diff --git a/src/plugins/incredibuild/buildconsolebuildstep.h b/src/plugins/incredibuild/buildconsolebuildstep.h index 813e8dcb325..b73f0d4fec1 100644 --- a/src/plugins/incredibuild/buildconsolebuildstep.h +++ b/src/plugins/incredibuild/buildconsolebuildstep.h @@ -3,14 +3,8 @@ #pragma once -#include - namespace IncrediBuild::Internal { -class BuildConsoleStepFactory final : public ProjectExplorer::BuildStepFactory -{ -public: - BuildConsoleStepFactory(); -}; +void setupBuildConsoleStep(); } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/ibconsolebuildstep.cpp b/src/plugins/incredibuild/ibconsolebuildstep.cpp index 8dd68baa601..0fad6cbe74a 100644 --- a/src/plugins/incredibuild/ibconsolebuildstep.cpp +++ b/src/plugins/incredibuild/ibconsolebuildstep.cpp @@ -100,12 +100,21 @@ void IBConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter) // IBConsoleStepFactory -IBConsoleStepFactory::IBConsoleStepFactory() +class IBConsoleStepFactory final : public BuildStepFactory { - registerStep(IncrediBuild::Constants::IBCONSOLE_BUILDSTEP_ID); - setDisplayName(Tr::tr("IncrediBuild for Linux")); - setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, - ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); +public: + IBConsoleStepFactory() + { + registerStep(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 diff --git a/src/plugins/incredibuild/ibconsolebuildstep.h b/src/plugins/incredibuild/ibconsolebuildstep.h index e44d27e5570..a8fb7259891 100644 --- a/src/plugins/incredibuild/ibconsolebuildstep.h +++ b/src/plugins/incredibuild/ibconsolebuildstep.h @@ -3,14 +3,8 @@ #pragma once -#include - namespace IncrediBuild::Internal { -class IBConsoleStepFactory : public ProjectExplorer::BuildStepFactory -{ -public: - IBConsoleStepFactory(); -}; +void setupIBConsoleStep(); } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/incredibuildplugin.cpp b/src/plugins/incredibuild/incredibuildplugin.cpp index 384ee0a760b..dba7c5bd610 100644 --- a/src/plugins/incredibuild/incredibuildplugin.cpp +++ b/src/plugins/incredibuild/incredibuildplugin.cpp @@ -8,25 +8,17 @@ namespace IncrediBuild::Internal { -class IncrediBuildPluginPrivate -{ -public: - BuildConsoleStepFactory buildConsoleStepFactory; - IBConsoleStepFactory ibConsolStepFactory; -}; - class IncrediBuildPlugin final : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "IncrediBuild.json") public: - void initialize() override + void initialize() final { - d = std::make_unique(); + setupBuildConsoleStep(); + setupIBConsoleStep(); } - - std::unique_ptr d; }; } // IncrediBuild::Internal