From 02d12edd4d38b4927a1f6feebf1f8c543281ef27 Mon Sep 17 00:00:00 2001 From: Christian Kandeler <christian.kandeler@nokia.com> Date: Tue, 19 Jul 2011 15:20:10 +0200 Subject: [PATCH] Harmattan: Support deploying without packaging. Won't work out of the box with the default paths from our wizards, but developers might find the faster turn-around time worth the hassle. Task-number: QTCREATORBUG-5459 Change-Id: I21dbc67f940f2e68cf07f28568ea35c717abc294 Reviewed-on: http://codereview.qt.nokia.com/1828 Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com> --- src/plugins/remotelinux/maemodeploystepfactory.cpp | 2 ++ src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/plugins/remotelinux/maemodeploystepfactory.cpp b/src/plugins/remotelinux/maemodeploystepfactory.cpp index 82b90fbe347..3fcea78e209 100644 --- a/src/plugins/remotelinux/maemodeploystepfactory.cpp +++ b/src/plugins/remotelinux/maemodeploystepfactory.cpp @@ -81,6 +81,8 @@ QStringList MaemoDeployStepFactory::availableCreationIds(BuildStepList *parent) ids << MaemoInstallRpmPackageToSysrootStep::Id; ids << MaemoUploadAndInstallRpmPackageStep::Id; } + if (qobject_cast<Qt4HarmattanTarget *>(parent->target())) + ids << MaemoDirectDeviceUploadStep::Id; if (qobject_cast<Qt4Maemo5Target *>(parent->target())) { ids << MaemoMountAndInstallDeployStep::Id << MaemoMountAndCopyDeployStep::Id; diff --git a/src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp b/src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp index a1273471634..6994a232108 100644 --- a/src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp +++ b/src/plugins/remotelinux/maemodirectdeviceuploadstep.cpp @@ -217,6 +217,15 @@ void MaemoDirectDeviceUploadStep::handleUploadFinished(Utils::SftpJobId jobId, setFinished(); } else { setDeployed(connection()->connectionParameters().host, d); + + // Terrible hack for Windows. + if (d.remoteDir.contains(QLatin1String("bin"))) { + const QString remoteFilePath = d.remoteDir + QLatin1Char('/') + + QFileInfo(d.localFilePath).fileName(); + const QString command = QLatin1String("chmod a+x ") + remoteFilePath; + connection()->createRemoteProcess(command.toUtf8())->start(); + } + uploadNextFile(); } } -- GitLab