Centralize retrieving the "parent" build configuration

If a step is part of a build configuration, that is used, but many steps
can be used as part of a deploy configuration.
In that case the active build configuration of the step's target must be
used, and that logic was duplicated many times.
Instead, let BuildStep::buildConfiguration take care of that logic. For
steps that are not offered for deploy configurations there is no
semantic difference, and for the others this removes code duplication.

Change-Id: I02f3bb50226590092cedcec02fce6fde9c7c6e63
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Eike Ziller
2018-05-17 10:26:10 +02:00
parent d2a9e1b892
commit 58bd043e27
16 changed files with 21 additions and 56 deletions

View File

@@ -149,8 +149,6 @@ bool QbsBuildStep::init(QList<const BuildStep *> &earlierSteps)
return false;
QbsBuildConfiguration *bc = static_cast<QbsBuildConfiguration *>(buildConfiguration());
if (!bc)
bc = static_cast<QbsBuildConfiguration *>(target()->activeBuildConfiguration());
if (!bc)
return false;
@@ -549,7 +547,7 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
this, &QbsBuildStepConfigWidget::updateState);
step->target()->subscribeSignal(&ProjectExplorer::BuildConfiguration::buildDirectoryChanged,
this, [this]() {
if (m_step->target()->activeBuildConfiguration() == sender())
if (m_step->buildConfiguration() == sender())
updateState();
});

View File

@@ -70,8 +70,6 @@ bool QbsCleanStep::init(QList<const BuildStep *> &earlierSteps)
return false;
QbsBuildConfiguration *bc = static_cast<QbsBuildConfiguration *>(buildConfiguration());
if (!bc)
bc = static_cast<QbsBuildConfiguration *>(target()->activeBuildConfiguration());
if (!bc)
return false;

View File

@@ -146,8 +146,7 @@ bool QbsInstallStep::keepGoing() const
const QbsBuildConfiguration *QbsInstallStep::buildConfig() const
{
return static_cast<QbsBuildConfiguration *>(
deployConfiguration()->target()->activeBuildConfiguration());
return static_cast<QbsBuildConfiguration *>(buildConfiguration());
}
bool QbsInstallStep::fromMap(const QVariantMap &map)