summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-02-28 09:10:32 +0100
committerhjk <hjk@qt.io>2022-03-09 13:26:46 +0000
commitc9c2fef43736703b1fcea2fe693b99a37fafa552 (patch)
tree49683170aec6253035832ceab943dc709debfb80
parentf477cdc2d727625bc80691237c5a25984692c2ae (diff)
downloadqt-creator-c9c2fef43736703b1fcea2fe693b99a37fafa552.tar.gz
SdkTool: Add some docker specific fields to AddDeviceOperation
Change-Id: I0a1f41f9643f2b0eaabd9856d7febde383aa35a0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/tools/sdktool/adddeviceoperation.cpp42
-rw-r--r--src/tools/sdktool/adddeviceoperation.h3
2 files changed, 44 insertions, 1 deletions
diff --git a/src/tools/sdktool/adddeviceoperation.cpp b/src/tools/sdktool/adddeviceoperation.cpp
index 361e763d82..4ff56e5a88 100644
--- a/src/tools/sdktool/adddeviceoperation.cpp
+++ b/src/tools/sdktool/adddeviceoperation.cpp
@@ -71,6 +71,9 @@ QString AddDeviceOperation::argumentsHelpText() const
" --sshPort <INT> ssh port.\n"
" --timeout <INT> timeout.\n"
" --uname <STRING> uname.\n"
+ " --dockerRepo <STRING> Docker image repo.\n"
+ " --dockerTag <STRING> Docker image tag.\n"
+ " --dockerMappedPaths <STRING> Docker mapped paths (semi-colon separated).\n"
" <KEY> <TYPE:VALUE> extra key value pairs\n");
}
@@ -224,6 +227,30 @@ bool AddDeviceOperation::setArguments(const QStringList &args)
continue;
}
+ if (current == QLatin1String("--dockerMappedPaths")) {
+ if (next.isNull())
+ return false;
+ ++i; // skip next;
+ m_dockerMappedPaths = next.split(';');
+ continue;
+ }
+
+ if (current == QLatin1String("--dockerRepo")) {
+ if (next.isNull())
+ return false;
+ ++i; // skip next;
+ m_dockerRepo = next;
+ continue;
+ }
+
+ if (current == QLatin1String("--dockerTag")) {
+ if (next.isNull())
+ return false;
+ ++i; // skip next;
+ m_dockerTag = next;
+ continue;
+ }
+
if (next.isNull())
return false;
++i; // skip next;
@@ -278,6 +305,9 @@ bool AddDeviceOperation::test() const
devData.m_timeout = 5;
devData.m_uname = "uname";
devData.m_version = 6;
+ devData.m_dockerRepo = "repo";
+ devData.m_dockerTag = "tag";
+ devData.m_dockerMappedPaths = {"/opt", "/data"};
QVariantMap result = devData.addDevice(map);
QVariantMap data = result.value(QLatin1String(DEVICEMANAGER_ID)).toMap();
@@ -285,7 +315,7 @@ bool AddDeviceOperation::test() const
if (devList.count() != 1)
return false;
QVariantMap dev = devList.at(0).toMap();
- if (dev.count() != 17)
+ if (dev.count() != 20)
return false;
if (dev.value(QLatin1String("Authentication")).toInt() != 2)
return false;
@@ -317,6 +347,13 @@ bool AddDeviceOperation::test() const
return false;
if (dev.value(QLatin1String("Version")).toInt() != 6)
return false;
+ if (dev.value(QLatin1String("DockerDeviceDataRepo")).toString() != "repo")
+ return false;
+ if (dev.value(QLatin1String("DockerDeviceDataTag")).toString() != "tag")
+ return false;
+ const QStringList paths = dev.value(QLatin1String("DockerDeviceMappedPaths")).toStringList();
+ if (paths != QStringList({"/opt", "/data"}))
+ return false;
return true;
}
@@ -351,6 +388,9 @@ QVariantMap AddDeviceData::addDevice(const QVariantMap &map) const
dev.append(KeyValuePair(QLatin1String("Timeout"), QVariant(m_timeout)));
dev.append(KeyValuePair(QLatin1String("Uname"), QVariant(m_uname)));
dev.append(KeyValuePair(QLatin1String("Version"), QVariant(m_version)));
+ dev.append(KeyValuePair(QLatin1String("DockerDeviceMappedPaths"), QVariant(m_dockerMappedPaths)));
+ dev.append(KeyValuePair(QLatin1String("DockerDeviceDataRepo"), QVariant(m_dockerRepo)));
+ dev.append(KeyValuePair(QLatin1String("DockerDeviceDataTag"), QVariant(m_dockerTag)));
dev.append(m_extra);
QVariantMap devMap = AddKeysData{dev}.addKeys(QVariantMap());
diff --git a/src/tools/sdktool/adddeviceoperation.h b/src/tools/sdktool/adddeviceoperation.h
index 2e0c9cfb61..67f4a677d6 100644
--- a/src/tools/sdktool/adddeviceoperation.h
+++ b/src/tools/sdktool/adddeviceoperation.h
@@ -62,6 +62,9 @@ public:
int m_timeout = 5;
QString m_uname;
int m_version = 0;
+ QStringList m_dockerMappedPaths;
+ QString m_dockerRepo;
+ QString m_dockerTag;
KeyValuePairList m_extra;
};