From 707886faac065bb34b3b18b67dd66ab77e81f2b7 Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Wed, 24 Jan 2024 09:25:12 +0100 Subject: [PATCH] AppMan: Use device specific tool paths This makes sure the RunConfiguration is correctly executed on the remote device. For steps executed on the host, a nullptr can be passed as device. Change-Id: Ide5aa5a06402b137494c10108d09a4e7ffa32ec9 Reviewed-by: Reviewed-by: hjk --- .../qtapplicationmanager/appmanagercreatepackagestep.cpp | 4 +--- .../qtapplicationmanager/appmanagerinstallpackagestep.cpp | 4 +--- src/plugins/qtapplicationmanager/appmanagerutilities.cpp | 3 ++- src/plugins/qtapplicationmanager/appmanagerutilities.h | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/plugins/qtapplicationmanager/appmanagercreatepackagestep.cpp b/src/plugins/qtapplicationmanager/appmanagercreatepackagestep.cpp index bdbcca95638..e935da5493f 100644 --- a/src/plugins/qtapplicationmanager/appmanagercreatepackagestep.cpp +++ b/src/plugins/qtapplicationmanager/appmanagercreatepackagestep.cpp @@ -40,9 +40,7 @@ public: setDisplayName(Tr::tr("Create Application Manager package")); packager.setSettingsKey(SETTINGSPREFIX "Executable"); - packager.setDefaultValue(getToolFilePath(Constants::APPMAN_PACKAGER, - kit(), - DeviceKitAspect::device(kit()))); + packager.setDefaultValue(getToolFilePath(Constants::APPMAN_PACKAGER, kit())); arguments.setSettingsKey(SETTINGSPREFIX "Arguments"); arguments.setResetter([] { return QLatin1String(ArgumentsDefault); }); diff --git a/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp b/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp index 4029c72157a..51de97ae99f 100644 --- a/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerinstallpackagestep.cpp @@ -49,9 +49,7 @@ AppManagerInstallPackageStep::AppManagerInstallPackageStep(BuildStepList *bsl, I { setDisplayName(Tr::tr("Install Application Manager package")); - controller.setDefaultValue(getToolFilePath(Constants::APPMAN_CONTROLLER, - kit(), - DeviceKitAspect::device(kit()))); + controller.setDefaultValue(getToolFilePath(Constants::APPMAN_CONTROLLER, kit())); arguments.setSettingsKey(SETTINGSPREFIX "Arguments"); arguments.setResetter([] { return QLatin1String(ArgumentsDefault); }); diff --git a/src/plugins/qtapplicationmanager/appmanagerutilities.cpp b/src/plugins/qtapplicationmanager/appmanagerutilities.cpp index c049112e3c6..2a490fd682b 100644 --- a/src/plugins/qtapplicationmanager/appmanagerutilities.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerutilities.cpp @@ -44,7 +44,8 @@ QString getToolFilePath(const QString &toolname, const Kit *kit, const IDevice:: const FilePath path = local ? getToolPathByQtVersion(QtKitAspect::qtVersion(kit)) : FilePath(Constants::REMOTE_DEFAULT_BIN_PATH); const QString name = getToolNameByDevice(toolname, device); - return !path.isEmpty() ? path.pathAppended(name).toString() : name; + const QString filePath = !path.isEmpty() ? path.pathAppended(name).toString() : name; + return !device ? filePath : device->filePath(filePath).toUserOutput(); } QString getToolNameByDevice(const QString &baseName, const QSharedPointer &device) diff --git a/src/plugins/qtapplicationmanager/appmanagerutilities.h b/src/plugins/qtapplicationmanager/appmanagerutilities.h index cb3d158eecd..db0af103752 100644 --- a/src/plugins/qtapplicationmanager/appmanagerutilities.h +++ b/src/plugins/qtapplicationmanager/appmanagerutilities.h @@ -10,6 +10,6 @@ namespace AppManager::Internal { QString getToolNameByDevice(const QString &baseName, const QSharedPointer &device = nullptr); -QString getToolFilePath(const QString &toolname, const ProjectExplorer::Kit *kit, const ProjectExplorer::IDevice::ConstPtr &device); +QString getToolFilePath(const QString &toolname, const ProjectExplorer::Kit *kit, const ProjectExplorer::IDevice::ConstPtr &device = nullptr); } // AppManager::Internal