diff options
author | Rainer Keller <rainer.keller@qt.io> | 2022-10-14 09:25:29 +0200 |
---|---|---|
committer | Rainer Keller <Rainer.Keller@qt.io> | 2022-10-24 06:27:57 +0000 |
commit | 6326ccfe3050584697229800db09bedb5dff5fe2 (patch) | |
tree | 71e79f6b49bcc73eaa3b28ef515290ceffb5c161 | |
parent | d42214e556dda650846561ca216ba663befb3ba0 (diff) |
McuSupport: Store the source location of the JSON file
This allows to mention the file name the configuration was created from in
error messages.
Change-Id: Id8e3d4a754cf5c1f0a12c6b21af1158713c68690
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/mcusupport/mcusupportsdk.cpp | 9 | ||||
-rw-r--r-- | src/plugins/mcusupport/mcusupportsdk.h | 7 | ||||
-rw-r--r-- | src/plugins/mcusupport/mcutargetdescription.h | 1 | ||||
-rw-r--r-- | src/plugins/mcusupport/test/unittest.cpp | 1 |
4 files changed, 9 insertions, 9 deletions
diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index 60e1e69f151..cd12a616138 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -22,7 +22,6 @@ #include <projectexplorer/toolchainmanager.h> #include <utils/algorithm.h> #include <utils/environment.h> -#include <utils/fileutils.h> #include <utils/hostosinfo.h> #include <QDir> @@ -658,7 +657,7 @@ static QList<PackageDescription> parsePackages(const QJsonArray &cmakeEntries) return result; } -McuTargetDescription parseDescriptionJson(const QByteArray &data) +McuTargetDescription parseDescriptionJson(const QByteArray &data, const Utils::FilePath &sourceFile) { const QJsonDocument document = QJsonDocument::fromJson(data); const QJsonObject target = document.object(); @@ -692,7 +691,8 @@ McuTargetDescription parseDescriptionJson(const QByteArray &data) }); const QString platformName = platform.value("platformName").toString(); - return {qulVersion, + return {sourceFile, + qulVersion, compatVersion, {platform.value("id").toString(), platformName, @@ -754,7 +754,8 @@ McuSdkRepository targetsAndPackages(const McuPackagePtr &qtForMCUsPackage, if (!filePath.isReadableFile()) continue; const McuTargetDescription desc = parseDescriptionJson( - filePath.fileContents().value_or(QByteArray())); + filePath.fileContents().value_or(QByteArray()), + filePath); bool ok = false; const int compatVersion = desc.compatVersion.toInt(&ok); if (!desc.compatVersion.isEmpty() && ok && compatVersion > MAX_COMPATIBILITY_VERSION) { diff --git a/src/plugins/mcusupport/mcusupportsdk.h b/src/plugins/mcusupport/mcusupportsdk.h index fabbee01c0a..c0f572140bb 100644 --- a/src/plugins/mcusupport/mcusupportsdk.h +++ b/src/plugins/mcusupport/mcusupportsdk.h @@ -5,10 +5,7 @@ #include "mcusupport_global.h" #include "settingshandler.h" - -namespace Utils { -class FilePath; -} // namespace Utils +#include <utils/fileutils.h> namespace McuSupport::Internal { @@ -28,7 +25,7 @@ bool checkDeprecatedSdkError(const Utils::FilePath &qulDir, QString &message); McuSdkRepository targetsAndPackages(const McuPackagePtr &qtForMCUsPackage, const SettingsHandler::Ptr &); -McuTargetDescription parseDescriptionJson(const QByteArray &); +McuTargetDescription parseDescriptionJson(const QByteArray &, const Utils::FilePath &sourceFile = Utils::FilePath()); McuSdkRepository targetsFromDescriptions(const QList<McuTargetDescription> &, const SettingsHandler::Ptr &, const McuPackagePtr &qtForMCUsPackage, diff --git a/src/plugins/mcusupport/mcutargetdescription.h b/src/plugins/mcusupport/mcutargetdescription.h index 7a905accafc..8dd510af81c 100644 --- a/src/plugins/mcusupport/mcutargetdescription.h +++ b/src/plugins/mcusupport/mcutargetdescription.h @@ -39,6 +39,7 @@ struct McuTargetDescription { enum class TargetType { MCU, Desktop }; + Utils::FilePath sourceFile; QString qulVersion; QString compatVersion; struct Platform diff --git a/src/plugins/mcusupport/test/unittest.cpp b/src/plugins/mcusupport/test/unittest.cpp index aa67124d68b..d503489aae9 100644 --- a/src/plugins/mcusupport/test/unittest.cpp +++ b/src/plugins/mcusupport/test/unittest.cpp @@ -352,6 +352,7 @@ McuSupportTest::McuSupportTest() , compilerDescription{armGccLabel, armGccEnvVar, TOOLCHAIN_DIR_CMAKE_VARIABLE, armGccLabel, armGccDirectorySetting, {}, {}, {}, {}, false} , toochainFileDescription{armGccLabel, armGccEnvVar, TOOLCHAIN_FILE_CMAKE_VARIABLE, armGccLabel, armGccDirectorySetting, {}, {}, {}, {}, false} , targetDescription { + "autotest-sourceFile", "2.0.1", "2", platformDescription, |