From e18134a2bd91e41a20e4a9be43aecea55f032967 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 15 Mar 2021 17:22:35 +0100 Subject: [PATCH] Nim: Simplify NimbleBuildStep implementation a bit Change-Id: Ifc5a2bee0ac2fc2e9e7d5a474c0453ec49ae733f Reviewed-by: Christian Stenger --- src/plugins/nim/project/nimblebuildstep.cpp | 45 ++++++--------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/src/plugins/nim/project/nimblebuildstep.cpp b/src/plugins/nim/project/nimblebuildstep.cpp index 389be08de13..a1657dc03f7 100644 --- a/src/plugins/nim/project/nimblebuildstep.cpp +++ b/src/plugins/nim/project/nimblebuildstep.cpp @@ -26,19 +26,13 @@ #include "nimblebuildstep.h" #include "nimconstants.h" -#include "nimbleproject.h" #include "nimbuildsystem.h" #include "nimoutputtaskparser.h" -#include "nimtoolchain.h" #include -#include #include #include #include -#include - -#include using namespace ProjectExplorer; using namespace Utils; @@ -48,6 +42,7 @@ namespace Nim { class NimbleBuildStep : public AbstractProcessStep { Q_DECLARE_TR_FUNCTIONS(Nim::NimbleBuilStep) + public: NimbleBuildStep(BuildStepList *parentList, Id id); @@ -55,22 +50,19 @@ public: private: QString defaultArguments() const; - void onArgumentsChanged(); - - ArgumentsAspect *m_arguments; }; NimbleBuildStep::NimbleBuildStep(BuildStepList *parentList, Id id) : AbstractProcessStep(parentList, id) { - m_arguments = addAspect(); - m_arguments->setSettingsKey(Constants::C_NIMBLEBUILDSTEP_ARGUMENTS); - m_arguments->setResetter([this] { return defaultArguments(); }); - m_arguments->setArguments(defaultArguments()); + auto arguments = addAspect(); + arguments->setSettingsKey(Constants::C_NIMBLEBUILDSTEP_ARGUMENTS); + arguments->setResetter([this] { return defaultArguments(); }); + arguments->setArguments(defaultArguments()); - setCommandLineProvider([this] { + setCommandLineProvider([this, arguments] { return CommandLine(Nim::nimblePathFromKit(kit()), - {"build", m_arguments->arguments(macroExpander())}); + {"build", arguments->arguments(macroExpander())}); }); setWorkingDirectoryProvider([this] { return project()->projectDirectory(); }); setEnvironmentModifier([this](Environment &env) { @@ -85,9 +77,9 @@ NimbleBuildStep::NimbleBuildStep(BuildStepList *parentList, Id id) QTC_ASSERT(buildConfiguration(), return); QObject::connect(buildConfiguration(), &BuildConfiguration::buildTypeChanged, - m_arguments, &ArgumentsAspect::resetArguments); - QObject::connect(m_arguments, &ArgumentsAspect::changed, - this, &NimbleBuildStep::onArgumentsChanged); + arguments, &ArgumentsAspect::resetArguments); + QObject::connect(arguments, &ArgumentsAspect::changed, + this, &AbstractProcessStep::updateSummary); } void NimbleBuildStep::setupOutputFormatter(OutputFormatter *formatter) @@ -100,22 +92,9 @@ void NimbleBuildStep::setupOutputFormatter(OutputFormatter *formatter) QString NimbleBuildStep::defaultArguments() const { - switch (buildType()) { - case BuildConfiguration::Debug: + if (buildType() == BuildConfiguration::Debug) return {"--debugger:native"}; - case BuildConfiguration::Unknown: - case BuildConfiguration::Profile: - case BuildConfiguration::Release: - default: - return {}; - } -} - -void NimbleBuildStep::onArgumentsChanged() -{ - ProcessParameters *params = processParameters(); - params->setCommandLine({Nim::nimblePathFromKit(kit()), - {"build", m_arguments->arguments(macroExpander())}}); + return {}; } NimbleBuildStepFactory::NimbleBuildStepFactory()