| 245 | } |
| 246 | |
| 247 | KJob * FlatpakRuntime::executeOnDevice(const QString& host, const QString &path) const |
| 248 | { |
| 249 | const QString name = config()[QLatin1String("id")].toString(); |
| 250 | const QString destPath = QStringLiteral("/tmp/kdevelop-test-app.flatpak"); |
| 251 | const QString replicatePath = QStringLiteral("/tmp/replicate.sh"); |
| 252 | const QString localReplicatePath = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("kdevflatpak/replicate.sh")); |
| 253 | const auto runJobName = i18nc("%1 - application ID, %2 - device host name", "Flatpak Run %1 on %2", name, host); |
| 254 | |
| 255 | const auto jobs = exportBundle(path).jobs |
| 256 | << QList<KJob*>{ |
| 257 | createExecuteJob({QStringLiteral("scp"), path, host + QLatin1Char(':') + destPath}, |
| 258 | i18nc("%1 - device host name", "Transfer .flatpak to %1", host)), |
| 259 | createExecuteJob({QStringLiteral("scp"), localReplicatePath, host + QLatin1Char(':') + replicatePath}, |
| 260 | i18nc("%1 - device host name", "Transfer replicate.sh to %1", host)), |
| 261 | createExecuteJob( |
| 262 | {QStringLiteral("ssh"), host, QStringLiteral("flatpak"), QStringLiteral("install"), |
| 263 | QStringLiteral("--user"), QStringLiteral("--bundle"), QStringLiteral("-y"), destPath}, |
| 264 | i18nc("%1 - application ID, %2 - device host name", "Flatpak Install %1 to %2", name, host)), |
| 265 | createExecuteJob({QStringLiteral("ssh"), host, QStringLiteral("bash"), replicatePath, |
| 266 | QStringLiteral("plasmashell"), QStringLiteral("flatpak"), QStringLiteral("run"), name}, |
| 267 | runJobName, name)}; |
| 268 | |
| 269 | auto* const compositeJob = new ExecuteCompositeJob(parent(), jobs); |
| 270 | compositeJob->setObjectName(runJobName); |
| 271 | return compositeJob; |
| 272 | } |
| 273 | |
| 274 | QJsonObject FlatpakRuntime::config(const KDevelop::Path& path) |
| 275 | { |
no test coverage detected