diff options
author | Christian Kandeler <[email protected]> | 2025-03-06 14:25:07 +0100 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2025-03-06 14:37:35 +0000 |
commit | bf28ea62ff9dac84f3b864b80bfe629e99d14ac3 (patch) | |
tree | afdca57e9d2124b4947487106de8fa44e42f072b | |
parent | cce4b01c4f3d4ba38233f76155a601b7fd81f335 (diff) |
ProjectExplorer: Replace uses of Target signals and member functions
... with ones of BuildConfiguration and BuildSystem.
This change handles the obvious cases. The remaining contexts have the
Target class as their central component and need closer examination.
Change-Id: I05963a5d7924c8f0f348ebf8fc00cddfda4a43bc
Reviewed-by: hjk <[email protected]>
39 files changed, 134 insertions, 123 deletions
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index 3951617becc..80d55e15c09 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -144,7 +144,7 @@ LibraryListModel::LibraryListModel(BuildSystem *buildSystem, QObject *parent) connect(buildSystem, &BuildSystem::parsingFinished, this, &LibraryListModel::updateModel); // Causes target()->activeBuildKey() result and consequently the node data // extracted below to change. - connect(buildSystem->target(), &Target::activeRunConfigurationChanged, + connect(buildSystem->buildConfiguration(), &BuildConfiguration::activeRunConfigurationChanged, this, &LibraryListModel::updateModel); } diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 9dfdb8ddbf1..4a2d03f4312 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -186,7 +186,7 @@ bool AndroidDeployQtStep::init() emit addOutput(Tr::tr("Initializing deployment to Android device/simulator"), OutputFormat::NormalMessage); - RunConfiguration *rc = target()->activeRunConfiguration(); + RunConfiguration *rc = buildConfiguration()->activeRunConfiguration(); QTC_ASSERT(rc, reportWarningOrError(Tr::tr("The kit's run configuration is invalid."), Task::Error); return false); BuildConfiguration *bc = target()->activeBuildConfiguration(); @@ -392,7 +392,7 @@ Group AndroidDeployQtStep::deployRecipe() if (!m_uninstallPreviousPackageRun) return SetupResult::StopWithSuccess; - QTC_ASSERT(target()->activeRunConfiguration(), return SetupResult::StopWithError); + QTC_ASSERT(buildConfiguration()->activeRunConfiguration(), return SetupResult::StopWithError); const QString packageName = Internal::packageName(buildConfiguration()); if (packageName.isEmpty()) { @@ -428,7 +428,7 @@ Group AndroidDeployQtStep::deployRecipe() if (!m_serialNumber.isEmpty() && !m_serialNumber.startsWith("????")) cmd.addArgs({"--device", m_serialNumber}); } else { - QTC_ASSERT(target()->activeRunConfiguration(), return SetupResult::StopWithError); + QTC_ASSERT(buildConfiguration()->activeRunConfiguration(), return SetupResult::StopWithError); cmd.addArgs(adbSelector(m_serialNumber)); cmd.addArgs({"install", "-r", m_apkPath.nativePath()}); } diff --git a/src/plugins/android/manifestwizard.cpp b/src/plugins/android/manifestwizard.cpp index bc0083bd4ec..4b5496e822c 100644 --- a/src/plugins/android/manifestwizard.cpp +++ b/src/plugins/android/manifestwizard.cpp @@ -198,9 +198,8 @@ void ChooseDirectoryPage::checkPackageSourceDir() void ChooseDirectoryPage::initializePage() { - const Target *target = m_wizard->buildSystem()->target(); const QString buildKey = m_wizard->buildKey(); - const BuildTargetInfo bti = target->buildTarget(buildKey); + const BuildTargetInfo bti = m_wizard->buildSystem()->buildTarget(buildKey); FilePath androidPackageDir; if (const ProjectNode *node = m_wizard->buildSystem()->project()->findNodeForBuildKey(buildKey)) @@ -255,8 +254,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() return; FileUtils::CopyAskingForOverwrite copy; - Target *target = m_buildSystem->target(); - QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit()); + QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(m_buildSystem->kit()); if (!version) return; FileUtils::copyRecursively(version->prefix() / "src/android/templates", @@ -278,7 +276,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() if (androidPackageDir.isEmpty()) { // and now time for some magic - const BuildTargetInfo bti = target->buildTarget(m_buildKey); + const BuildTargetInfo bti = m_buildSystem->buildTarget(m_buildKey); const QString value = "$$PWD/" + bti.projectFilePath.absoluteFilePath().relativePathFromDir(m_directory).path(); diff --git a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp index ca15acf7d47..c4c5a3f7321 100644 --- a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp +++ b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp @@ -40,7 +40,7 @@ private: { const auto onSetup = [this](Process &process) { QString remoteExe; - if (RunConfiguration *rc = target()->activeRunConfiguration()) { + if (RunConfiguration *rc = buildConfiguration()->activeRunConfiguration()) { if (auto exeAspect = rc->aspect<ExecutableAspect>()) remoteExe = exeAspect->executable().nativePath(); } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index 152810bac42..cd2baa01957 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -274,12 +274,12 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) : env.set("DESTDIR", stagingDir().path()); }); - connect(target(), &Target::parsingFinished, this, [this](bool success) { + connect(buildSystem(), &BuildSystem::parsingFinished, this, [this](bool success) { if (success) // Do not change when parsing failed. recreateBuildTargetsModel(); }); - connect(target(), &Target::activeRunConfigurationChanged, + connect(buildConfiguration(), &BuildConfiguration::activeRunConfigurationChanged, this, &CMakeBuildStep::updateBuildTargetsModel); } @@ -313,7 +313,7 @@ bool CMakeBuildStep::init() return false; if (m_buildTargets.contains(QString())) { - RunConfiguration *rc = target()->activeRunConfiguration(); + RunConfiguration *rc = buildConfiguration()->activeRunConfiguration(); if (!rc || rc->buildKey().isEmpty()) { emit addTask(BuildSystemTask(Task::Error, ::ProjectExplorer::Tr::tr( @@ -480,7 +480,7 @@ CommandLine CMakeBuildStep::cmakeCommand() const cmd.addArg("--target"); cmd.addArgs(Utils::transform(m_buildTargets, [this](const QString &s) { if (s.isEmpty()) { - if (RunConfiguration *rc = target()->activeRunConfiguration()) + if (RunConfiguration *rc = buildConfiguration()->activeRunConfiguration()) return rc->buildKey(); } return s; @@ -547,7 +547,7 @@ QStringList CMakeBuildStep::specialTargets(bool allCapsTargets) QString CMakeBuildStep::activeRunConfigTarget() const { - RunConfiguration *rc = target()->activeRunConfiguration(); + RunConfiguration *rc = buildConfiguration()->activeRunConfiguration(); return rc ? rc->buildKey() : QString(); } diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index a2775127b75..c3e734c2d70 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -376,7 +376,7 @@ void CMakeManager::runCMakeWithProfiling(BuildSystem *buildSystem) if (ProjectExplorerPlugin::saveModifiedFiles()) { // cmakeBuildSystem->runCMakeWithProfiling() below will trigger Target::buildSystemUpdated // which will ensure that the "cmake-profile.json" has been created and we can load the viewer - QObject::connect(cmakeBuildSystem->target(), &Target::buildSystemUpdated, this, [] { + QObject::connect(cmakeBuildSystem, &BuildSystem::updated, this, [] { Core::Command *ctfVisualiserLoadTrace = Core::ActionManager::command( "Analyzer.Menu.StartAnalyzer.CtfVisualizer.LoadTrace"); diff --git a/src/plugins/coco/buildsettings.cpp b/src/plugins/coco/buildsettings.cpp index 76296628705..5d23b417688 100644 --- a/src/plugins/coco/buildsettings.cpp +++ b/src/plugins/coco/buildsettings.cpp @@ -41,11 +41,8 @@ BuildSettings::BuildSettings(ModificationFile &featureFile, BuildConfiguration * void BuildSettings::connectToBuildStep(CocoBuildStep *step) const { - connect( - buildConfig()->target(), - &ProjectExplorer::Target::buildSystemUpdated, - step, - &CocoBuildStep::buildSystemUpdated); + connect(buildConfig()->buildSystem(), &BuildSystem::updated, + step, &CocoBuildStep::buildSystemUpdated); } bool BuildSettings::enabled() const diff --git a/src/plugins/coco/cococmakesettings.cpp b/src/plugins/coco/cococmakesettings.cpp index 1e8833112ff..611342149c6 100644 --- a/src/plugins/coco/cococmakesettings.cpp +++ b/src/plugins/coco/cococmakesettings.cpp @@ -53,13 +53,13 @@ private: void CocoCMakeSettings::connectToProject(CocoProjectWidget *parent) const { connect( - buildConfig()->target(), - &Target::buildSystemUpdated, + buildConfig()->buildSystem(), + &BuildSystem::updated, parent, - &CocoProjectWidget::buildSystemUpdated); + [parent, bs = buildConfig()->buildSystem()] { parent->buildSystemUpdated(bs); }); connect( buildConfig()->buildSystem(), - &ProjectExplorer::BuildSystem::errorOccurred, + &BuildSystem::errorOccurred, parent, &CocoProjectWidget::configurationErrorOccurred); } diff --git a/src/plugins/haskell/haskellproject.cpp b/src/plugins/haskell/haskellproject.cpp index 238647efd4f..6fe32119cbf 100644 --- a/src/plugins/haskell/haskellproject.cpp +++ b/src/plugins/haskell/haskellproject.cpp @@ -112,7 +112,7 @@ void HaskellBuildSystem::updateApplicationTargets() return bti; }); setApplicationTargets(appTargets); - target()->updateDefaultRunConfigurations(); + buildConfiguration()->updateDefaultRunConfigurations(); } class HaskellProject final : public Project diff --git a/src/plugins/ios/iosdsymbuildstep.cpp b/src/plugins/ios/iosdsymbuildstep.cpp index 2da029bfe76..28322b03324 100644 --- a/src/plugins/ios/iosdsymbuildstep.cpp +++ b/src/plugins/ios/iosdsymbuildstep.cpp @@ -125,7 +125,7 @@ FilePath IosDsymBuildStep::defaultCommand() const QStringList IosDsymBuildStep::defaultCleanCmdList() const { - auto runConf = qobject_cast<IosRunConfiguration *>(target()->activeRunConfiguration()); + auto runConf = qobject_cast<IosRunConfiguration *>(buildConfiguration()->activeRunConfiguration()); QTC_ASSERT(runConf, return {"echo"}); QString dsymPath = runConf->bundleDirectory().toUserOutput(); dsymPath.chop(4); @@ -140,7 +140,7 @@ QStringList IosDsymBuildStep::defaultCmdList() const .pathAppended("Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil"); if (dsymUtilPath.exists()) dsymutilCmd = dsymUtilPath.toUserOutput(); - auto runConf = qobject_cast<const IosRunConfiguration *>(target()->activeRunConfiguration()); + auto runConf = qobject_cast<const IosRunConfiguration *>(buildConfiguration()->activeRunConfiguration()); QTC_ASSERT(runConf, return {"echo"}); QString dsymPath = runConf->bundleDirectory().toUserOutput(); dsymPath.chop(4); diff --git a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp index 48f25a8cd6f..aac532859a5 100644 --- a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp +++ b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp @@ -220,7 +220,7 @@ public: optionsTreeView->setItemDelegate(new BuildOptionDelegate{optionsTreeView}); MesonBuildSystem *bs = static_cast<MesonBuildSystem *>(buildCfg->buildSystem()); - connect(buildCfg->target(), &ProjectExplorer::Target::parsingFinished, + connect(bs, &BuildSystem::parsingFinished, this, [this, bs, optionsTreeView](bool success) { if (success) { m_optionsModel.setConfiguration(bs->buildOptions()); diff --git a/src/plugins/mesonprojectmanager/mesonbuildstep.cpp b/src/plugins/mesonprojectmanager/mesonbuildstep.cpp index a721851d2df..91a01329b32 100644 --- a/src/plugins/mesonprojectmanager/mesonbuildstep.cpp +++ b/src/plugins/mesonprojectmanager/mesonbuildstep.cpp @@ -41,7 +41,7 @@ MesonBuildStep::MesonBuildStep(BuildStepList *bsl, Id id) setCommandLineProvider([this] { return command(); }); setUseEnglishOutput(); - connect(target(), &ProjectExplorer::Target::parsingFinished, this, &MesonBuildStep::update); + connect(buildSystem(), &BuildSystem::parsingFinished, this, &MesonBuildStep::update); connect(&settings().verboseBuild, &BaseAspect::changed, this, &MesonBuildStep::commandChanged); } diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index c566b3f57b6..06a7f5ebc39 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -237,8 +237,8 @@ BuildConfiguration::BuildConfiguration(Target *target, Utils::Id id) setToolTip(d->m_tooltipAspect()); }); - connect(target, &Target::parsingStarted, this, &BuildConfiguration::enabledChanged); - connect(target, &Target::parsingFinished, this, &BuildConfiguration::enabledChanged); + connect(buildSystem(), &BuildSystem::parsingStarted, this, &BuildConfiguration::enabledChanged); + connect(buildSystem(), &BuildSystem::parsingFinished, this, &BuildConfiguration::enabledChanged); connect(this, &BuildConfiguration::enabledChanged, this, [this] { if (isActive() && project() == ProjectManager::startupProject()) { ProjectExplorerPlugin::updateActions(); @@ -436,6 +436,7 @@ void BuildConfiguration::setActiveDeployConfiguration(DeployConfiguration *dc) return; d->m_activeDeployConfiguration = dc; + emit activeDeployConfigurationChanged(d->m_activeDeployConfiguration); if (this == target()->activeBuildConfiguration()) emit target()->activeDeployConfigurationChanged(d->m_activeDeployConfiguration); } @@ -519,6 +520,7 @@ void BuildConfiguration::addDeployConfiguration(DeployConfiguration *dc) ProjectExplorerPlugin::targetSelector()->addedDeployConfiguration(dc); // TODO: Use signal instead? d->m_deployConfigurationModel.addProjectConfiguration(dc); + emit addedDeployConfiguration(dc); if (this == target()->activeBuildConfiguration()) emit target()->addedDeployConfiguration(dc); @@ -547,7 +549,9 @@ bool BuildConfiguration::removeDeployConfiguration(DeployConfiguration *dc) ProjectExplorerPlugin::targetSelector()->removedDeployConfiguration(dc); d->m_deployConfigurationModel.removeProjectConfiguration(dc); - emit target()->removedDeployConfiguration(dc); // TODO: Own signal? + emit removedDeployConfiguration(dc); + if (this == target()->activeBuildConfiguration()) + emit target()->removedDeployConfiguration(dc); delete dc; return true; @@ -761,6 +765,7 @@ void BuildConfiguration::updateDefaultRunConfigurations() for (RunConfiguration *rc : std::as_const(removalList)) removeRunConfiguration(rc); + emit runConfigurationsUpdated(); if (this == target()->activeBuildConfiguration()) emit target()->runConfigurationsUpdated(); } @@ -789,7 +794,9 @@ void BuildConfiguration::addRunConfiguration(RunConfiguration *rc) ProjectExplorerPlugin::targetSelector()->addedRunConfiguration(rc); d->m_runConfigurationModel.addProjectConfiguration(rc); - emit target()->addedRunConfiguration(rc); + emit addedRunConfiguration(rc); + if (this == target()->activeBuildConfiguration()) + emit target()->addedRunConfiguration(rc); if (!activeRunConfiguration()) setActiveRunConfiguration(rc); @@ -808,7 +815,9 @@ void BuildConfiguration::removeRunConfiguration(RunConfiguration *rc) setActiveRunConfiguration(d->m_runConfigurations.at(0)); } - emit target()->removedRunConfiguration(rc); + emit removedRunConfiguration(rc); + if (this == target()->activeBuildConfiguration()) + emit target()->removedRunConfiguration(rc); ProjectExplorerPlugin::targetSelector()->removedRunConfiguration(rc); d->m_runConfigurationModel.removeProjectConfiguration(rc); @@ -822,7 +831,9 @@ void BuildConfiguration::removeAllRunConfigurations() setActiveRunConfiguration(nullptr); while (!runConfigs.isEmpty()) { RunConfiguration * const rc = runConfigs.takeFirst(); - emit target()->removedRunConfiguration(rc); + emit removedRunConfiguration(rc); + if (this == target()->activeBuildConfiguration()) + emit target()->removedRunConfiguration(rc); ProjectExplorerPlugin::targetSelector()->removedRunConfiguration(rc); d->m_runConfigurationModel.removeProjectConfiguration(rc); delete rc; @@ -843,7 +854,9 @@ void BuildConfiguration::setActiveRunConfiguration(RunConfiguration *rc) (rc && d->m_runConfigurations.contains(rc) && rc != d->m_activeRunConfiguration)) { d->m_activeRunConfiguration = rc; - emit target()->activeRunConfigurationChanged(d->m_activeRunConfiguration); + emit activeRunConfigurationChanged(d->m_activeRunConfiguration); + if (this == target()->activeBuildConfiguration()) + emit target()->activeRunConfigurationChanged(d->m_activeRunConfiguration); ProjectExplorerPlugin::updateActions(); } } diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index a78f3b5c7be..200cb5fd44c 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -77,6 +77,7 @@ public: void addDeployConfiguration(DeployConfiguration *dc); bool removeDeployConfiguration(DeployConfiguration *dc); const QList<DeployConfiguration *> deployConfigurations() const; + void setActiveDeployConfiguration(DeployConfiguration *dc); DeployConfiguration *activeDeployConfiguration() const; void setActiveDeployConfiguration(DeployConfiguration *dc, SetActive cascade); void updateDefaultDeployConfigurations(); @@ -149,13 +150,21 @@ signals: void buildDirectoryChanged(); void buildTypeChanged(); + void removedRunConfiguration(ProjectExplorer::RunConfiguration *rc); + void addedRunConfiguration(ProjectExplorer::RunConfiguration *rc); + void activeRunConfigurationChanged(ProjectExplorer::RunConfiguration *rc); + void runConfigurationsUpdated(); + + void removedDeployConfiguration(ProjectExplorer::DeployConfiguration *dc); + void addedDeployConfiguration(ProjectExplorer::DeployConfiguration *dc); + void activeDeployConfigurationChanged(ProjectExplorer::DeployConfiguration *dc); + protected: void setInitializer(const std::function<void(const BuildInfo &info)> &initializer); private: bool addConfigurationsFromMap(const Utils::Store &map, bool setActiveConfigurations); void storeConfigurationsToMap(Utils::Store &map) const; - void setActiveDeployConfiguration(DeployConfiguration *dc); void emitBuildDirectoryChanged(); Internal::BuildConfigurationPrivate *d = nullptr; diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index e601f99a807..64006298b73 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -153,11 +153,8 @@ BuildConfiguration *BuildStep::buildConfiguration() const DeployConfiguration *BuildStep::deployConfiguration() const { auto config = qobject_cast<DeployConfiguration *>(projectConfiguration()); - if (config) - return config; - QTC_CHECK(false); - // step is not part of a deploy configuration, use active deploy configuration of step's target - return target()->activeDeployConfiguration(); + QTC_ASSERT(config, return target()->activeDeployConfiguration()); + return config; } ProjectConfiguration *BuildStep::projectConfiguration() const diff --git a/src/plugins/projectexplorer/buildsystem.cpp b/src/plugins/projectexplorer/buildsystem.cpp index d919dac6f82..f12ca598cc7 100644 --- a/src/plugins/projectexplorer/buildsystem.cpp +++ b/src/plugins/projectexplorer/buildsystem.cpp @@ -295,8 +295,6 @@ void BuildSystem::setDeploymentData(const DeploymentData &deploymentData) if (d->m_deploymentData != deploymentData) { d->m_deploymentData = deploymentData; emit deploymentDataChanged(); - if (buildConfiguration() == target()->activeBuildConfiguration()) - emit target()->deploymentDataChanged(); } } diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index f96227302a2..5a541f920cd 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -113,6 +113,11 @@ bool DeployConfiguration::isActive() const return project()->activeDeployConfiguration() == this; } +BuildSystem *DeployConfiguration::buildSystem() const +{ + return buildConfiguration()->buildSystem(); +} + /// // DeployConfigurationFactory diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h index 3de9455fce1..2ce4351b560 100644 --- a/src/plugins/projectexplorer/deployconfiguration.h +++ b/src/plugins/projectexplorer/deployconfiguration.h @@ -13,6 +13,7 @@ namespace ProjectExplorer { class BuildConfiguration; class BuildStepList; +class BuildSystem; class Target; class DeployConfigurationFactory; @@ -44,6 +45,7 @@ public: void setCustomDeploymentData(const DeploymentData &data) { m_customDeploymentData = data; } BuildConfiguration *buildConfiguration() const { return m_buildConfiguration; } + BuildSystem *buildSystem() const; private: BuildConfiguration * const m_buildConfiguration; diff --git a/src/plugins/projectexplorer/deploymentdataview.cpp b/src/plugins/projectexplorer/deploymentdataview.cpp index c513c9cd19b..926958d4af9 100644 --- a/src/plugins/projectexplorer/deploymentdataview.cpp +++ b/src/plugins/projectexplorer/deploymentdataview.cpp @@ -98,7 +98,7 @@ DeploymentDataView::DeploymentDataView(DeployConfiguration *dc) const auto updateModel = [dc, model, view] { model->clear(); - for (const DeployableFile &file : dc->target()->deploymentData().allFiles()) { + for (const DeployableFile &file : dc->buildSystem()->deploymentData().allFiles()) { model->rootItem()->appendChild( new DeploymentDataItem(file, dc->usesCustomDeploymentData())); } @@ -129,7 +129,7 @@ DeploymentDataView::DeploymentDataView(DeployConfiguration *dc) && view->selectionModel()->hasSelection()); }; - connect(dc->target(), &Target::deploymentDataChanged, this, [dc, updateModel] { + connect(dc->buildSystem(), &BuildSystem::deploymentDataChanged, this, [dc, updateModel] { if (!dc->usesCustomDeploymentData()) updateModel(); }); diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp index 551abf86b1b..bcde41b4912 100644 --- a/src/plugins/projectexplorer/makestep.cpp +++ b/src/plugins/projectexplorer/makestep.cpp @@ -4,6 +4,7 @@ #include "makestep.h" #include "buildconfiguration.h" +#include "buildsystem.h" #include "devicesupport/devicekitaspects.h" #include "devicesupport/idevice.h" #include "gnumakeparser.h" @@ -385,7 +386,7 @@ QWidget *MakeStep::createConfigWidget() connect(buildConfiguration(), &BuildConfiguration::environmentChanged, widget, updateDetails); connect(buildConfiguration(), &BuildConfiguration::buildDirectoryChanged, widget, updateDetails); - connect(target(), &Target::parsingFinished, widget, updateDetails); + connect(buildSystem(), &BuildSystem::parsingFinished, widget, updateDetails); return widget; } diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index e200d616385..401ca229a7a 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -5,6 +5,7 @@ #include "appoutputpane.h" #include "buildconfiguration.h" +#include "buildsystem.h" #include "customparser.h" #include "devicesupport/devicekitaspects.h" #include "devicesupport/devicemanager.h" @@ -411,7 +412,7 @@ void RunControl::setBuildConfiguration(BuildConfiguration *bc) d->buildConfiguration = bc; if (!d->buildKey.isEmpty()) - d->buildTargetInfo = bc->target()->buildTarget(d->buildKey); + d->buildTargetInfo = bc->buildSystem()->buildTarget(d->buildKey); d->buildDirectory = bc->buildDirectory(); d->buildEnvironment = bc->environment(); diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 7a47222bb07..729555d3341 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -168,12 +168,6 @@ BuildSystem *Target::buildSystem() const return d->m_activeBuildConfiguration->buildSystem(); } -BuildTargetInfo Target::buildTarget(const QString &buildKey) const -{ - QTC_ASSERT(buildSystem(), return {}); - return buildSystem()->buildTarget(buildKey); -} - QString Target::activeBuildKey() const { QTC_ASSERT(activeBuildConfiguration(), return {}); @@ -212,26 +206,6 @@ void Target::setActiveBuildConfiguration(BuildConfiguration *bc, SetActive casca } } -void Target::setActiveDeployConfiguration(DeployConfiguration *dc) -{ - for (BuildConfiguration * const bc : std::as_const(d->m_buildConfigurations)) { - if (bc->deployConfigurations().contains(dc)) { - bc->setActiveDeployConfiguration(dc); - if (bc != d->m_activeBuildConfiguration) - setActiveBuildConfiguration(bc, SetActive::NoCascade); - return; - } - } -} - -QList<DeployConfiguration *> Target::deployConfigurations() const -{ - QList<DeployConfiguration *> dcs; - for (BuildConfiguration * const bc : std::as_const(d->m_buildConfigurations)) - dcs << bc->deployConfigurations(); - return dcs; -} - Utils::Id Target::id() const { return d->m_kit->id(); diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index e269de629b6..6d587a76dfa 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -88,16 +88,11 @@ public: ProjectConfigurationModel *buildConfigurationModel() const; DeploymentData deploymentData() const; - BuildTargetInfo buildTarget(const QString &buildKey) const; QString activeBuildKey() const; // Build key of active run configuaration void setActiveBuildConfiguration(BuildConfiguration *bc, SetActive cascade); - // Do not use, only for QtAM. - void setActiveDeployConfiguration(DeployConfiguration *dc); - QList<DeployConfiguration *> deployConfigurations() const; - signals: void targetEnabled(bool); void iconChanged(); @@ -125,8 +120,6 @@ signals: void addedDeployConfiguration(ProjectExplorer::DeployConfiguration *dc); void activeDeployConfigurationChanged(ProjectExplorer::DeployConfiguration *dc); - void deploymentDataChanged(); - private: bool fromMap(const Utils::Store &map); bool addConfigurationsFromMap(const Utils::Store &map, bool setActiveConfigurations); diff --git a/src/plugins/python/pythonbuildconfiguration.cpp b/src/plugins/python/pythonbuildconfiguration.cpp index a048479dea7..ecb3b8788f2 100644 --- a/src/plugins/python/pythonbuildconfiguration.cpp +++ b/src/plugins/python/pythonbuildconfiguration.cpp @@ -68,7 +68,7 @@ PySideBuildStep::PySideBuildStep(BuildStepList *bsl, Id id) env.prependOrSetPath(m_pysideProject().parentDir()); }); - connect(target(), &Target::buildSystemUpdated, this, &PySideBuildStep::updateExtraCompilers); + connect(buildSystem(), &BuildSystem::updated, this, &PySideBuildStep::updateExtraCompilers); connect(&m_pysideUic, &BaseAspect::changed, this, &PySideBuildStep::updateExtraCompilers); } diff --git a/src/plugins/qbsprojectmanager/qbsinstallstep.cpp b/src/plugins/qbsprojectmanager/qbsinstallstep.cpp index 4cd0fed5fc5..c0d49f4f230 100644 --- a/src/plugins/qbsprojectmanager/qbsinstallstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsinstallstep.cpp @@ -131,7 +131,7 @@ QWidget *QbsInstallStep::createConfigWidget() commandLineTextEdit->setPlainText(buildConfig()->equivalentCommandLine(data)); }; - connect(target(), &Target::parsingFinished, this, updateState); + connect(buildSystem(), &BuildSystem::parsingFinished, this, updateState); connect(buildConfig(), &QbsBuildConfiguration::qbsConfigurationChanged, this, updateState); connect(this, &ProjectConfiguration::displayNameChanged, this, updateState); diff --git a/src/plugins/qbsprojectmanager/qbsrequest.cpp b/src/plugins/qbsprojectmanager/qbsrequest.cpp index ba984d84cbc..ac0fadd52f2 100644 --- a/src/plugins/qbsprojectmanager/qbsrequest.cpp +++ b/src/plugins/qbsprojectmanager/qbsrequest.cpp @@ -114,8 +114,8 @@ static QbsRequestManager &manager() void QbsRequestObject::start() { if (m_parseData.first) { - connect(m_parseData.first->target(), &Target::parsingFinished, this, [this](bool success) { - disconnect(m_parseData.first->target(), &Target::parsingFinished, this, nullptr); + connect(m_parseData.first, &BuildSystem::parsingFinished, this, [this](bool success) { + disconnect(m_parseData.first, &BuildSystem::parsingFinished, this, nullptr); emit done(toDoneResult(success)); }); QMetaObject::invokeMethod( diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 444d1239dfe..2ba0fc591e8 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -152,7 +152,8 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id) this, &QmakeBuildConfiguration::updateProblemLabel); connect(&settings(), &AspectContainer::changed, this, &QmakeBuildConfiguration::updateProblemLabel); - connect(target, &Target::parsingFinished, this, &QmakeBuildConfiguration::updateProblemLabel); + connect(buildSystem(), &BuildSystem::parsingFinished, + this, &QmakeBuildConfiguration::updateProblemLabel); connect(target, &Target::kitChanged, this, &QmakeBuildConfiguration::updateProblemLabel); connect(&separateDebugInfo, &BaseAspect::changed, this, [this] { diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 8741fead481..be659935ff0 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -647,7 +647,7 @@ void QmakeBuildSystem::decrementPendingEvaluateFutures() updateBuildSystemData(); updateCodeModels(); updateDocuments(); - target()->updateDefaultDeployConfigurations(); + buildConfiguration()->updateDefaultDeployConfigurations(); m_guard.markAsSuccess(); // Qmake always returns (some) data, even when it failed:-) TRACE("success" << int(m_guard.isSuccess())); m_guard = {}; // This triggers emitParsingFinished by destroying the previous guard. diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 1ba965ed9bc..a8b5074f8de 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -454,7 +454,7 @@ QWidget *QMakeStep::createConfigWidget() connect(project(), &Project::projectLanguagesUpdated, widget, [this] { linkQmlDebuggingLibraryChanged(); }); - connect(target(), &Target::parsingFinished, + connect(buildSystem(), &BuildSystem::parsingFinished, widget, [this] { updateEffectiveQMakeCall(); }); connect(qmakeBuildConfiguration(), &QmakeBuildConfiguration::useQtQuickCompilerChanged, widget, [this] { useQtQuickCompilerChanged(); }); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 1f616caf5cd..5729002b88f 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -10,6 +10,7 @@ #include <coreplugin/icore.h> +#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildsystem.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/devicesupport/devicekitaspects.h> @@ -199,8 +200,8 @@ FilePath QmlProjectRunConfiguration::qmlRuntimeFilePath() const return qmlRuntime; } auto hasDeployStep = [this] { - return target()->activeDeployConfiguration() && - !target()->activeDeployConfiguration()->stepList()->isEmpty(); + return buildConfiguration()->activeDeployConfiguration() && + !buildConfiguration()->activeDeployConfiguration()->stepList()->isEmpty(); }; // The Qt version might know, but we need to make sure diff --git a/src/plugins/qtapplicationmanager/appmanagercmakepackagestep.cpp b/src/plugins/qtapplicationmanager/appmanagercmakepackagestep.cpp index e7caa20a36c..53e46cec94a 100644 --- a/src/plugins/qtapplicationmanager/appmanagercmakepackagestep.cpp +++ b/src/plugins/qtapplicationmanager/appmanagercmakepackagestep.cpp @@ -10,6 +10,7 @@ #include "appmanagertr.h" #include <projectexplorer/buildstep.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/project.h> #include <projectexplorer/projectexplorerconstants.h> @@ -35,10 +36,22 @@ public: step->setBuildTargets({targetInformation.cmakeBuildTarget}); step->setStepEnabled(!targetInformation.isBuiltin); }; - QObject::connect(step->target(), &Target::activeRunConfigurationChanged, step, updaterSlot); - QObject::connect(step->target(), &Target::activeDeployConfigurationChanged, step, updaterSlot); - QObject::connect(step->target(), &Target::parsingFinished, step, updaterSlot); - QObject::connect(step->target(), &Target::runConfigurationsUpdated, step, updaterSlot); + QObject::connect( + step->buildConfiguration(), + &BuildConfiguration::activeRunConfigurationChanged, + step, + updaterSlot); + QObject::connect( + step->buildConfiguration(), + &BuildConfiguration::activeDeployConfigurationChanged, + step, + updaterSlot); + QObject::connect(step->buildSystem(), &BuildSystem::parsingFinished, step, updaterSlot); + QObject::connect( + step->buildConfiguration(), + &BuildConfiguration::runConfigurationsUpdated, + step, + updaterSlot); QObject::connect(step->project(), &Project::displayNameChanged, step, updaterSlot); }); diff --git a/src/plugins/qtapplicationmanager/appmanagerdeployconfigurationautoswitcher.cpp b/src/plugins/qtapplicationmanager/appmanagerdeployconfigurationautoswitcher.cpp index 2ab0c640ec2..7d30c1c2fdc 100644 --- a/src/plugins/qtapplicationmanager/appmanagerdeployconfigurationautoswitcher.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerdeployconfigurationautoswitcher.cpp @@ -7,6 +7,7 @@ #include "appmanagerconstants.h" +#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/project.h> #include <projectexplorer/projectmanager.h> @@ -52,7 +53,7 @@ void AppManagerDeployConfigurationAutoSwitcher::onActiveDeployConfigurationChang if (m_deployConfiguration != deployConfiguration) { m_deployConfiguration = deployConfiguration; if (deployConfiguration && deployConfiguration->target()) { - if (auto runConfiguration = deployConfiguration->target()->activeRunConfiguration()) { + if (auto runConfiguration = deployConfiguration->buildConfiguration()->activeRunConfiguration()) { m_deployConfigurationsUsageHistory.insert(runConfiguration, deployConfiguration); } } @@ -75,23 +76,23 @@ void AppManagerDeployConfigurationAutoSwitcher::onActiveRunConfigurationChanged( if (m_runConfiguration != runConfiguration) { m_runConfiguration = runConfiguration; if (runConfiguration) { - if (auto target = runConfiguration->target()) { + if (BuildConfiguration * const bc = runConfiguration->buildConfiguration()) { const auto stored = m_deployConfigurationsUsageHistory.contains(runConfiguration); if (stored) { // deploy selection stored -> restore auto deployConfiguration = m_deployConfigurationsUsageHistory.value(runConfiguration, nullptr); - target->setActiveDeployConfiguration(deployConfiguration); - } else if (auto activeDeployConfiguration = target->activeDeployConfiguration()) { + bc->setActiveDeployConfiguration(deployConfiguration); + } else if (auto activeDeployConfiguration = bc->activeDeployConfiguration()) { // active deploy configuration exists if (isApplicationManagerRunConfiguration(runConfiguration)) { // current run configuration is AM if (!isApplicationManagerDeployConfiguration(activeDeployConfiguration)) { // current deploy configuration is not AM - for (auto deployConfiguration : target->deployConfigurations()) { + for (auto deployConfiguration : bc->deployConfigurations()) { // find AM deploy configuration if (isApplicationManagerDeployConfiguration(deployConfiguration)) { // make it active - target->setActiveDeployConfiguration(deployConfiguration); + bc->setActiveDeployConfiguration(deployConfiguration); break; } } @@ -100,11 +101,11 @@ void AppManagerDeployConfigurationAutoSwitcher::onActiveRunConfigurationChanged( // current run configuration is not AM if (isApplicationManagerDeployConfiguration(activeDeployConfiguration)) { // current deploy configuration is AM - for (auto deployConfiguration : target->deployConfigurations()) { + for (auto deployConfiguration : bc->deployConfigurations()) { // find not AM deploy configuration if (!isApplicationManagerDeployConfiguration(deployConfiguration)) { // make it active - target->setActiveDeployConfiguration(deployConfiguration); + bc->setActiveDeployConfiguration(deployConfiguration); break; } } diff --git a/src/plugins/qtapplicationmanager/appmanagerdeploypackagestep.cpp b/src/plugins/qtapplicationmanager/appmanagerdeploypackagestep.cpp index abf2e99ad4b..012f2f13570 100644 --- a/src/plugins/qtapplicationmanager/appmanagerdeploypackagestep.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerdeploypackagestep.cpp @@ -13,17 +13,15 @@ #include <projectexplorer/buildstep.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/devicesupport/devicekitaspects.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/project.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/runconfiguration.h> #include <projectexplorer/target.h> -#include <remotelinux/remotelinux_constants.h> - #include <utils/filestreamer.h> using namespace ProjectExplorer; -using namespace RemoteLinux; using namespace Tasking; using namespace Utils; @@ -62,10 +60,13 @@ public: setStepEnabled(!targetInformation.isBuiltin); }; - connect(target(), &Target::activeRunConfigurationChanged, this, updateAspects); - connect(target(), &Target::activeDeployConfigurationChanged, this, updateAspects); - connect(target(), &Target::parsingFinished, this, updateAspects); - connect(target(), &Target::runConfigurationsUpdated, this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::activeRunConfigurationChanged, + this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::activeDeployConfigurationChanged, + this, updateAspects); + connect(buildSystem(), &BuildSystem::parsingFinished, this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::runConfigurationsUpdated, + this, updateAspects); connect(project(), &Project::displayNameChanged, this, updateAspects); connect(&customizeStep, &BaseAspect::changed, this, updateAspects); diff --git a/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp b/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp index 9163815d29a..e503c240315 100644 --- a/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp @@ -14,6 +14,7 @@ #include <remotelinux/abstractremotelinuxdeploystep.h> #include <projectexplorer/buildstep.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/deployconfiguration.h> #include <projectexplorer/devicesupport/devicekitaspects.h> #include <projectexplorer/devicesupport/idevice.h> @@ -85,10 +86,13 @@ AppManagerInstallPackageStep::AppManagerInstallPackageStep(BuildStepList *bsl, I setStepEnabled(!targetInformation.isBuiltin); }; - connect(target(), &Target::activeRunConfigurationChanged, this, updateAspects); - connect(target(), &Target::activeDeployConfigurationChanged, this, updateAspects); - connect(target(), &Target::parsingFinished, this, updateAspects); - connect(target(), &Target::runConfigurationsUpdated, this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::activeRunConfigurationChanged, + this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::activeDeployConfigurationChanged, + this, updateAspects); + connect(buildSystem(), &BuildSystem::parsingFinished, this, updateAspects); + connect(buildConfiguration(), &BuildConfiguration::runConfigurationsUpdated, + this, updateAspects); connect(project(), &Project::displayNameChanged, this, updateAspects); connect(&customizeStep, &BaseAspect::changed, this, updateAspects); updateAspects(); diff --git a/src/plugins/remotelinux/genericdeploystep.cpp b/src/plugins/remotelinux/genericdeploystep.cpp index b1faf9c6b39..dc55209e118 100644 --- a/src/plugins/remotelinux/genericdeploystep.cpp +++ b/src/plugins/remotelinux/genericdeploystep.cpp @@ -191,7 +191,7 @@ GroupItem GenericDeployStep::deployRecipe() const Storage<FilesToTransfer> storage; const auto onSetup = [this, storage] { - const QList<DeployableFile> deployableFiles = target()->deploymentData().allFiles(); + const QList<DeployableFile> deployableFiles = buildSystem()->deploymentData().allFiles(); FilesToTransfer &files = *storage; for (const DeployableFile &file : deployableFiles) { if (!ignoreMissingFiles() || file.localFilePath().exists()) { diff --git a/src/plugins/remotelinux/genericdirectuploadstep.cpp b/src/plugins/remotelinux/genericdirectuploadstep.cpp index ae099c8fc42..4b940416a84 100644 --- a/src/plugins/remotelinux/genericdirectuploadstep.cpp +++ b/src/plugins/remotelinux/genericdirectuploadstep.cpp @@ -8,6 +8,7 @@ #include "remotelinuxtr.h" #include <projectexplorer/buildstep.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/deployablefile.h> #include <projectexplorer/deploymentdata.h> #include <projectexplorer/devicesupport/filetransfer.h> @@ -210,7 +211,7 @@ GroupItem GenericDirectUploadStep::deployRecipe() const Storage<UploadStorage> storage; const auto setupHandler = [this, storage] { - const QList<DeployableFile> deployableFiles = target()->deploymentData().allFiles(); + const QList<DeployableFile> deployableFiles = buildSystem()->deploymentData().allFiles(); QList<DeployableFile> collected; for (const DeployableFile &file : deployableFiles) collected.append(collectFilesToUpload(file)); diff --git a/src/plugins/remotelinux/killappstep.cpp b/src/plugins/remotelinux/killappstep.cpp index a918a279d1c..1437ed2dfe3 100644 --- a/src/plugins/remotelinux/killappstep.cpp +++ b/src/plugins/remotelinux/killappstep.cpp @@ -29,9 +29,9 @@ public: setWidgetExpandedByDefault(false); setInternalInitializer([this]() -> expected_str<void> { - Target * const theTarget = target(); - QTC_ASSERT(theTarget, return make_unexpected(QString())); - RunConfiguration * const rc = theTarget->activeRunConfiguration(); + BuildConfiguration * const bc = buildConfiguration(); + QTC_ASSERT(bc, return make_unexpected(QString())); + RunConfiguration * const rc = bc->activeRunConfiguration(); m_remoteExecutable = rc ? rc->runnable().command.executable() : FilePath(); return {}; }); diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index 9f987fa8d4b..65265cee466 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -121,7 +121,7 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent connect(&m_customCommand, &StringAspect::changed, this, &MakeInstallStep::updateFromCustomCommandLineAspect); - connect(target(), &Target::buildSystemUpdated, this, updateCommand); + connect(buildSystem(), &BuildSystem::updated, this, updateCommand); const MakeInstallCommand cmd = buildSystem()->makeInstallCommand(rootPath); QTC_ASSERT(!cmd.command.isEmpty(), return); diff --git a/src/plugins/remotelinux/tarpackagecreationstep.cpp b/src/plugins/remotelinux/tarpackagecreationstep.cpp index d3524f8d029..9b1b3439fc5 100644 --- a/src/plugins/remotelinux/tarpackagecreationstep.cpp +++ b/src/plugins/remotelinux/tarpackagecreationstep.cpp @@ -8,6 +8,7 @@ #include "remotelinuxtr.h" #include <projectexplorer/buildmanager.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/deploymentdata.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/project.h> @@ -90,7 +91,7 @@ private: TarPackageCreationStep::TarPackageCreationStep(BuildStepList *bsl, Id id) : BuildStep(bsl, id) { - connect(target(), &Target::deploymentDataChanged, this, [this] { + connect(buildSystem(), &BuildSystem::deploymentDataChanged, this, [this] { m_deploymentDataModified = true; }); m_deploymentDataModified = true; @@ -132,7 +133,7 @@ Tasking::GroupItem TarPackageCreationStep::runRecipe() { using namespace Tasking; const auto onSetup = [this](Async<void> &async) { - const QList<DeployableFile> &files = target()->deploymentData().allFiles(); + const QList<DeployableFile> &files = buildSystem()->deploymentData().allFiles(); if (m_incrementalDeployment()) { m_files.clear(); for (const DeployableFile &file : files) @@ -206,7 +207,7 @@ bool TarPackageCreationStep::isPackagingNeeded() const if (!packagePath.exists() || m_deploymentDataModified) return true; - const DeploymentData &dd = target()->deploymentData(); + const DeploymentData &dd = buildSystem()->deploymentData(); for (int i = 0; i < dd.fileCount(); ++i) { if (dd.fileAt(i).localFilePath().isNewerThan(packagePath.lastModified())) return true; |