diff options
author | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-05-07 08:33:02 +0200 |
---|---|---|
committer | Marcus Tillmanns <marcus.tillmanns@qt.io> | 2024-05-08 10:29:59 +0000 |
commit | 657ce51467d74462b030f0a89f74c91b5b36c662 (patch) | |
tree | 30d9992faa3f1f8346f7c5ea7c02f27b6416f7d8 | |
parent | aad2f6ecac5f7d7522bec7e509a2ce984a5161af (diff) |
ExtensionSystem: FilePath'ify
Change IPlugin::fileName() and IPlugin::location to use
FilePath instead of QString.
Change-Id: If473ab1e258951735f93221cbd62c505f0727eb2
Reviewed-by: hjk <hjk@qt.io>
20 files changed, 79 insertions, 75 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp index 9851078e72..5ebb3ff4d7 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -765,7 +765,7 @@ int main(int argc, char **argv) // Load const QStringList pluginPaths = getPluginPaths() + installPluginPaths + options.customPluginPaths; - PluginManager::setPluginPaths(pluginPaths); + PluginManager::setPluginPaths(Utils::transform(pluginPaths, &Utils::FilePath::fromUserInput)); QMap<QString, QString> foundAppOptions; if (pluginArguments.size() > 1) { QMap<QString, bool> appOptions; diff --git a/src/libs/extensionsystem/plugindetailsview.cpp b/src/libs/extensionsystem/plugindetailsview.cpp index 291b385219..35e646bad7 100644 --- a/src/libs/extensionsystem/plugindetailsview.cpp +++ b/src/libs/extensionsystem/plugindetailsview.cpp @@ -146,7 +146,7 @@ void PluginDetailsView::update(PluginSpec *spec) d->vendor->setText(spec->vendor()); d->component->setText(spec->category().isEmpty() ? Tr::tr("None") : spec->category()); d->url->setText(QString::fromLatin1("<a href=\"%1\">%1</a>").arg(spec->url())); - d->location->setText(QDir::toNativeSeparators(spec->filePath())); + d->location->setText(spec->filePath().toUserOutput()); const QString pattern = spec->platformSpecification().pattern(); const QString platform = pattern.isEmpty() ? Tr::tr("All") : pattern; const QString platformString = Tr::tr("%1 (current: \"%2\")") diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 85dbf62983..718a66a727 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -443,7 +443,7 @@ FutureSynchronizer *PluginManager::futureSynchronizer() \sa setPluginPaths() */ -QStringList PluginManager::pluginPaths() +FilePaths PluginManager::pluginPaths() { return d->pluginPaths; } @@ -455,7 +455,7 @@ QStringList PluginManager::pluginPaths() \sa pluginPaths() \sa loadPlugins() */ -void PluginManager::setPluginPaths(const QStringList &paths) +void PluginManager::setPluginPaths(const FilePaths &paths) { d->setPluginPaths(paths); } @@ -1732,7 +1732,7 @@ void PluginManagerPrivate::loadPlugin(PluginSpec *spec, PluginSpec::State destSt /*! \internal */ -void PluginManagerPrivate::setPluginPaths(const QStringList &paths) +void PluginManagerPrivate::setPluginPaths(const FilePaths &paths) { qCDebug(pluginLog) << "Plugin search paths:" << paths; qCDebug(pluginLog) << "Required IID:" << pluginIID; @@ -1741,17 +1741,18 @@ void PluginManagerPrivate::setPluginPaths(const QStringList &paths) readPluginPaths(); } -static const QStringList pluginFiles(const QStringList &pluginPaths) +static const FilePaths pluginFiles(const FilePaths &pluginPaths) { - QStringList pluginFiles; - QStringList searchPaths = pluginPaths; + FilePaths pluginFiles; + FilePaths searchPaths = pluginPaths; while (!searchPaths.isEmpty()) { - const QDir dir(searchPaths.takeFirst()); - const QFileInfoList files = dir.entryInfoList(QDir::Files | QDir::NoSymLinks); - const QStringList absoluteFilePaths = Utils::transform(files, &QFileInfo::absoluteFilePath); - pluginFiles += Utils::filtered(absoluteFilePaths, [](const QString &path) { return QLibrary::isLibrary(path); }); - const QFileInfoList dirs = dir.entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot); - searchPaths += Utils::transform(dirs, &QFileInfo::absoluteFilePath); + const FilePath dir = searchPaths.takeFirst().absoluteFilePath(); + const FilePaths files = dir.dirEntries(QDir::Files | QDir::NoSymLinks); + pluginFiles += Utils::filtered(files, [](const FilePath &path) { + return QLibrary::isLibrary(path.toFSPathString()); + }); + const FilePaths dirs = dir.dirEntries(QDir::Dirs | QDir::NoDotAndDotDot); + searchPaths += dirs; } return pluginFiles; } @@ -1793,11 +1794,12 @@ void PluginManagerPrivate::readPluginPaths() QVector<PluginSpec *> newSpecs; // from the file system - for (const QString &pluginFile : pluginFiles(pluginPaths)) { + for (const FilePath &pluginFile : pluginFiles(pluginPaths)) { expected_str<PluginSpec *> spec = readCppPluginSpec(pluginFile); if (!spec) { - qCInfo(pluginLog).noquote() - << QString("Ignoring plugin \"%1\" because: %2").arg(pluginFile).arg(spec.error()); + qCInfo(pluginLog).noquote() << QString("Ignoring plugin \"%1\" because: %2") + .arg(pluginFile.toUserOutput()) + .arg(spec.error()); continue; } newSpecs.append(*spec); diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index b35df535b7..c5045e7187 100644 --- a/src/libs/extensionsystem/pluginmanager.h +++ b/src/libs/extensionsystem/pluginmanager.h @@ -6,6 +6,7 @@ #include "extensionsystem_global.h" #include <aggregation/aggregate.h> +#include <utils/filepath.h> #include <utils/qtcsettings.h> #include <QObject> @@ -69,8 +70,8 @@ public: static QVector<PluginSpec *> loadQueue(); static void loadPlugins(); static void loadPluginsAtRuntime(const QSet<PluginSpec *> &plugins); - static QStringList pluginPaths(); - static void setPluginPaths(const QStringList &paths); + static Utils::FilePaths pluginPaths(); + static void setPluginPaths(const Utils::FilePaths &paths); static QString pluginIID(); static void setPluginIID(const QString &iid); static const QVector<PluginSpec *> plugins(); diff --git a/src/libs/extensionsystem/pluginmanager_p.h b/src/libs/extensionsystem/pluginmanager_p.h index 074400bd6d..a761614223 100644 --- a/src/libs/extensionsystem/pluginmanager_p.h +++ b/src/libs/extensionsystem/pluginmanager_p.h @@ -53,7 +53,7 @@ public: void addPlugins(const QVector<PluginSpec *> &specs); void shutdown(); - void setPluginPaths(const QStringList &paths); + void setPluginPaths(const Utils::FilePaths &paths); const QVector<ExtensionSystem::PluginSpec *> loadQueue(); void loadPlugin(PluginSpec *spec, PluginSpec::State destState); void resolveDependencies(); @@ -91,7 +91,7 @@ public: QHash<QString, QVector<PluginSpec *>> pluginCategories; QVector<PluginSpec *> pluginSpecs; std::vector<TestSpec> testSpecs; - QStringList pluginPaths; + Utils::FilePaths pluginPaths; QString pluginIID; QVector<QObject *> allObjects; // ### make this a QVector<QPointer<QObject> > > ? QStringList defaultDisabledPlugins; // Plugins/Ignored from install settings diff --git a/src/libs/extensionsystem/pluginspec.cpp b/src/libs/extensionsystem/pluginspec.cpp index 3e77732328..2d492c385f 100644 --- a/src/libs/extensionsystem/pluginspec.cpp +++ b/src/libs/extensionsystem/pluginspec.cpp @@ -201,8 +201,8 @@ public: QVector<ExtensionSystem::PluginDependency> dependencies; PluginSpec::PluginArgumentDescriptions argumentDescriptions; - QString location; - QString filePath; + FilePath location; + FilePath filePath; bool experimental{false}; bool deprecated{false}; @@ -491,7 +491,7 @@ PluginSpec::PluginArgumentDescriptions PluginSpec::argumentDescriptions() const /*! Returns the absolute path to the directory containing the plugin. */ -QString PluginSpec::location() const +FilePath PluginSpec::location() const { return d->location; } @@ -499,7 +499,7 @@ QString PluginSpec::location() const /*! Returns the absolute path to the plugin. */ -QString PluginSpec::filePath() const +FilePath PluginSpec::filePath() const { return d->filePath; } @@ -692,19 +692,20 @@ namespace { \internal Returns false if the file does not represent a Qt Creator plugin. */ -expected_str<PluginSpec *> readCppPluginSpec(const QString &fileName) +expected_str<PluginSpec *> readCppPluginSpec(const FilePath &fileName) { auto spec = new CppPluginSpec; - QFileInfo fileInfo(fileName); - spec->setLocation(fileInfo.absolutePath()); - spec->setFilePath(fileInfo.absoluteFilePath()); + const FilePath absPath = fileName.absoluteFilePath(); + + spec->setLocation(absPath.parentDir()); + spec->setFilePath(absPath); spec->d->loader.emplace(); if (Utils::HostOsInfo::isMacHost()) spec->d->loader->setLoadHints(QLibrary::ExportExternalSymbolsHint); - spec->d->loader->setFileName(fileInfo.absoluteFilePath()); + spec->d->loader->setFileName(absPath.toFSPathString()); if (spec->d->loader->fileName().isEmpty()) return make_unexpected(::ExtensionSystem::Tr::tr("Cannot open file")); @@ -1110,12 +1111,12 @@ void PluginSpec::setState(State state) d->state = state; } -void PluginSpec::setLocation(const QString &location) +void PluginSpec::setLocation(const FilePath &location) { d->location = location; } -void PluginSpec::setFilePath(const QString &filePath) +void PluginSpec::setFilePath(const FilePath &filePath) { d->filePath = filePath; } @@ -1142,8 +1143,7 @@ bool CppPluginSpec::loadLibrary() return false; } if (d->loader && !d->loader->load()) { - setError(QDir::toNativeSeparators(filePath()) + QString::fromLatin1(": ") - + d->loader->errorString()); + setError(filePath().toUserOutput() + QString::fromLatin1(": ") + d->loader->errorString()); return false; } auto *pluginObject = d->loader ? qobject_cast<IPlugin *>(d->loader->instance()) diff --git a/src/libs/extensionsystem/pluginspec.h b/src/libs/extensionsystem/pluginspec.h index becb70f579..7d45fe82c1 100644 --- a/src/libs/extensionsystem/pluginspec.h +++ b/src/libs/extensionsystem/pluginspec.h @@ -8,6 +8,7 @@ #include "iplugin.h" #include <utils/expected.h> +#include <utils/filepath.h> #include <QHash> #include <QStaticPlugin> @@ -120,8 +121,8 @@ public: virtual QJsonObject metaData() const; virtual PerformanceData &performanceData() const; virtual PluginArgumentDescriptions argumentDescriptions() const; - virtual QString location() const; - virtual QString filePath() const; + virtual Utils::FilePath location() const; + virtual Utils::FilePath filePath() const; virtual QStringList arguments() const; virtual void setArguments(const QStringList &arguments); virtual void addArgument(const QString &argument); @@ -160,8 +161,8 @@ protected: protected: virtual void setState(State state); - virtual void setLocation(const QString &location); - virtual void setFilePath(const QString &filePath); + virtual void setLocation(const Utils::FilePath &location); + virtual void setFilePath(const Utils::FilePath &filePath); virtual Utils::expected_str<void> readMetaData(const QJsonObject &metaData); Utils::expected_str<void> reportError(const QString &error); @@ -169,14 +170,15 @@ private: std::unique_ptr<Internal::PluginSpecPrivate> d; }; -EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readCppPluginSpec(const QString &filePath); +EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readCppPluginSpec( + const Utils::FilePath &filePath); EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readCppPluginSpec( const QStaticPlugin &plugin); class EXTENSIONSYSTEM_TEST_EXPORT CppPluginSpec : public PluginSpec { friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readCppPluginSpec( - const QString &filePath); + const Utils::FilePath &filePath); friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readCppPluginSpec( const QStaticPlugin &plugin); diff --git a/src/libs/extensionsystem/pluginview.cpp b/src/libs/extensionsystem/pluginview.cpp index 07fa11c7a9..902f90aca4 100644 --- a/src/libs/extensionsystem/pluginview.cpp +++ b/src/libs/extensionsystem/pluginview.cpp @@ -119,7 +119,7 @@ public: toolTip = Tr::tr("Path: %1\nPlugin is disabled by command line argument."); else toolTip = Tr::tr("Path: %1"); - return toolTip.arg(QDir::toNativeSeparators(m_spec->filePath())); + return toolTip.arg(m_spec->filePath().toUserOutput()); } if (role == Qt::DecorationRole) { bool ok = !m_spec->hasError(); diff --git a/src/plugins/coreplugin/plugininstallwizard.cpp b/src/plugins/coreplugin/plugininstallwizard.cpp index 7e63e1d508..4d4ba69de9 100644 --- a/src/plugins/coreplugin/plugininstallwizard.cpp +++ b/src/plugins/coreplugin/plugininstallwizard.cpp @@ -154,7 +154,7 @@ void checkContents(QPromise<ArchiveIssue> &promise, const FilePath &tempDir) if (promise.isCanceled()) return; it.next(); - expected_str<PluginSpec *> spec = readCppPluginSpec(it.filePath()); + expected_str<PluginSpec *> spec = readCppPluginSpec(FilePath::fromUserInput(it.filePath())); if (spec) { // Is a Qt Creator plugin. Let's see if we find a Core dependency and check the // version diff --git a/src/plugins/extensionmanager/extensionmanagerwidget.cpp b/src/plugins/extensionmanager/extensionmanagerwidget.cpp index be7e0f92ee..d8574a740f 100644 --- a/src/plugins/extensionmanager/extensionmanagerwidget.cpp +++ b/src/plugins/extensionmanager/extensionmanagerwidget.cpp @@ -153,7 +153,7 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t, "of the extensions that are part of pack ") + data.name : extension->longDescription(); longDescription.replace("\n", "<br/>"); - const QString location = isPack ? extension->location() : extension->filePath(); + const FilePath location = isPack ? extension->location() : extension->filePath(); QString description = htmlStart; @@ -217,7 +217,7 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t, .arg(Tr::tr("Version")) .arg(extension->version()) .arg(Tr::tr("Location")) - .arg(location)); + .arg(location.toUserOutput())); description.append(htmlEnd); m_primaryDescription->setText(description); diff --git a/src/plugins/lua/luaengine.cpp b/src/plugins/lua/luaengine.cpp index 67dea9be53..a49af1a388 100644 --- a/src/plugins/lua/luaengine.cpp +++ b/src/plugins/lua/luaengine.cpp @@ -135,8 +135,7 @@ expected_str<void> LuaEngine::prepareSetup( sol::lib::table, sol::lib::utf8); - const QString searchPath - = (FilePath::fromUserInput(pluginSpec.filePath()).parentDir() / "?.lua").toUserOutput(); + const QString searchPath = (pluginSpec.location() / "?.lua").toUserOutput(); lua["package"]["path"] = searchPath.toStdString(); // TODO: only register what the plugin requested diff --git a/src/plugins/lua/luaplugin.cpp b/src/plugins/lua/luaplugin.cpp index 68b151c2fd..047847459c 100644 --- a/src/plugins/lua/luaplugin.cpp +++ b/src/plugins/lua/luaplugin.cpp @@ -62,8 +62,8 @@ public: bool delayedInitialize() final { - scanForPlugins(transform(PluginManager::pluginPaths(), [](const QString &path) -> FilePath { - return FilePath::fromUserInput(path) / "lua-plugins"; + scanForPlugins(transform(PluginManager::pluginPaths(), [](const FilePath &path) { + return path / "lua-plugins"; })); return true; diff --git a/src/plugins/lua/luapluginspec.cpp b/src/plugins/lua/luapluginspec.cpp index dfbb54a41d..19d52dbf37 100644 --- a/src/plugins/lua/luapluginspec.cpp +++ b/src/plugins/lua/luapluginspec.cpp @@ -71,8 +71,8 @@ expected_str<LuaPluginSpec *> LuaPluginSpec::create(const FilePath &filePath, if (!r) return make_unexpected(r.error()); - pluginSpec->setFilePath(filePath.toUserOutput()); - pluginSpec->setLocation(filePath.parentDir().toUserOutput()); + pluginSpec->setFilePath(filePath); + pluginSpec->setLocation(filePath.parentDir()); pluginSpec->d->pluginScriptPath = filePath; diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp index e84ef955b8..9c00a32329 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp @@ -584,7 +584,7 @@ FilePaths &JsonWizardFactory::searchPaths() // add paths from enabled plugin meta data for (PluginSpec *plugin : PluginManager::plugins()) { if (plugin->state() == PluginSpec::Running) { - const auto base = FilePath::fromString(plugin->filePath()).parentDir(); + const auto base = plugin->location(); const auto values = plugin->metaData().value("JsonWizardPaths").toArray(); for (const QJsonValue &v : values) { const auto path = FilePath::fromString(v.toString()); diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index 601cf96681..f1b8ecdfa7 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -625,12 +625,14 @@ void QmlDesignerPlugin::enforceDelayedInitialize() return; // adding default path to item library plugins - const QString postfix = Utils::HostOsInfo::isMacHost() ? QString("/QmlDesigner") - : QString("/qmldesigner"); - const QStringList pluginPaths = Utils::transform(ExtensionSystem::PluginManager::pluginPaths(), - [postfix](const QString &p) { - return QString(p + postfix); - }); + const QString postfix = Utils::HostOsInfo::isMacHost() + ? QString("QmlDesigner") + : QString("qmldesigner"); + const QStringList pluginPaths = + Utils::transform(ExtensionSystem::PluginManager::pluginPaths(), + [postfix](const Utils::FilePath &p) { + return (p / postfix).toFSPathString(); + }); #ifndef QDS_USE_PROJECTSTORAGE MetaInfo::initializeGlobal(pluginPaths, d->externalDependencies); diff --git a/tests/auto/extensionsystem/pluginmanager/tst_pluginmanager.cpp b/tests/auto/extensionsystem/pluginmanager/tst_pluginmanager.cpp index e57e71c533..4a9b0210a0 100644 --- a/tests/auto/extensionsystem/pluginmanager/tst_pluginmanager.cpp +++ b/tests/auto/extensionsystem/pluginmanager/tst_pluginmanager.cpp @@ -47,9 +47,9 @@ class MyClass11 : public MyClass1 Q_OBJECT }; -static QString pluginFolder(const QLatin1String &folder) +static Utils::FilePath pluginFolder(const QLatin1String &folder) { - return QLatin1String(PLUGINMANAGER_TESTS_DIR) + QLatin1String("/") + folder; + return Utils::FilePath::fromUserInput(QLatin1String(PLUGINMANAGER_TESTS_DIR)) / folder; } void tst_PluginManager::init() @@ -138,7 +138,7 @@ void tst_PluginManager::getObject() void tst_PluginManager::circularPlugins() { - PluginManager::setPluginPaths(QStringList() << pluginFolder(QLatin1String("circularplugins"))); + PluginManager::setPluginPaths({pluginFolder(QLatin1String("circularplugins"))}); PluginManager::loadPlugins(); const QVector<PluginSpec *> plugins = PluginManager::plugins(); QCOMPARE(plugins.count(), 3); @@ -160,7 +160,7 @@ void tst_PluginManager::circularPlugins() void tst_PluginManager::correctPlugins1() { - PluginManager::setPluginPaths(QStringList() << pluginFolder(QLatin1String("correctplugins1"))); + PluginManager::setPluginPaths({pluginFolder(QLatin1String("correctplugins1"))}); PluginManager::loadPlugins(); bool specError = false; bool runError = false; diff --git a/tests/auto/extensionsystem/pluginspec/CMakeLists.txt b/tests/auto/extensionsystem/pluginspec/CMakeLists.txt index ad91750f28..efb94786d0 100644 --- a/tests/auto/extensionsystem/pluginspec/CMakeLists.txt +++ b/tests/auto/extensionsystem/pluginspec/CMakeLists.txt @@ -5,7 +5,7 @@ add_qtc_test(tst_pluginspec PLUGIN_DIR="${CMAKE_CURRENT_BINARY_DIR}" PLUGINSPEC_DIR="${CMAKE_CURRENT_SOURCE_DIR}" DLL_INFIX="$<$<CONFIG:Debug>:d>" - DEPENDS ExtensionSystem + DEPENDS ExtensionSystem Utils SOURCES tst_pluginspec.cpp ) diff --git a/tests/auto/extensionsystem/pluginspec/test.qbs b/tests/auto/extensionsystem/pluginspec/test.qbs index b8196f93e6..56748fde12 100644 --- a/tests/auto/extensionsystem/pluginspec/test.qbs +++ b/tests/auto/extensionsystem/pluginspec/test.qbs @@ -4,6 +4,8 @@ QtcAutotest { name: "ExtensionSystem pluginspec autotest" Depends { name: "Aggregation" } Depends { name: "ExtensionSystem" } + Depends { name: "Utils" } + Group { name: "Sources" files: "tst_pluginspec.cpp" diff --git a/tests/auto/extensionsystem/pluginspec/tst_pluginspec.cpp b/tests/auto/extensionsystem/pluginspec/tst_pluginspec.cpp index 39c043ff43..f52b0cf19a 100644 --- a/tests/auto/extensionsystem/pluginspec/tst_pluginspec.cpp +++ b/tests/auto/extensionsystem/pluginspec/tst_pluginspec.cpp @@ -14,6 +14,8 @@ using namespace ExtensionSystem; +static const Utils::FilePath PLUGIN_DIR_PATH = Utils::FilePath::fromUserInput(PLUGIN_DIR); + static QJsonObject metaData(const QString &fileName) { QFile f(fileName); @@ -221,14 +223,11 @@ void tst_PluginSpec::experimental() void tst_PluginSpec::locationAndPath() { Utils::expected_str<PluginSpec *> ps = readCppPluginSpec( - QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/") - + libraryName(QLatin1String("test"))); + PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test"))); QVERIFY(ps); CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value()); - QCOMPARE(spec->location(), QString(QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin"))); - QCOMPARE(spec->filePath(), - QString(QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/") - + libraryName(QLatin1String("test")))); + QCOMPARE(spec->location(), PLUGIN_DIR_PATH / "testplugin"); + QCOMPARE(spec->filePath(), PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test"))); } void tst_PluginSpec::resolveDependencies() @@ -272,8 +271,7 @@ void tst_PluginSpec::resolveDependencies() void tst_PluginSpec::loadLibrary() { Utils::expected_str<PluginSpec *> ps = readCppPluginSpec( - QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/") - + libraryName(QLatin1String("test"))); + PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test"))); QVERIFY(ps); CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value()); @@ -292,8 +290,7 @@ void tst_PluginSpec::loadLibrary() void tst_PluginSpec::initializePlugin() { Utils::expected_str<PluginSpec *> ps = readCppPluginSpec( - QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/") - + libraryName(QLatin1String("test"))); + PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test"))); QVERIFY(ps); CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value()); QVERIFY(spec->resolveDependencies(QVector<PluginSpec *>())); @@ -317,8 +314,7 @@ void tst_PluginSpec::initializePlugin() void tst_PluginSpec::initializeExtensions() { Utils::expected_str<PluginSpec *> ps = readCppPluginSpec( - QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/") - + libraryName(QLatin1String("test"))); + PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test"))); QVERIFY(ps); CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value()); QVERIFY(spec->resolveDependencies(QVector<PluginSpec *>())); diff --git a/tests/manual/pluginview/plugindialog.cpp b/tests/manual/pluginview/plugindialog.cpp index d1ed1d906d..24232540d9 100644 --- a/tests/manual/pluginview/plugindialog.cpp +++ b/tests/manual/pluginview/plugindialog.cpp @@ -114,7 +114,7 @@ int main(int argc, char *argv[]) QObject::connect(&app, &QCoreApplication::aboutToQuit, &manager, &ExtensionSystem::PluginManager::shutdown); PluginDialog dialog; - manager.setPluginPaths(QStringList() << app.applicationDirPath() + "/plugins"); + manager.setPluginPaths({FilePath::fromUserInput(app.applicationDirPath()) / "plugins"}); manager.loadPlugins(); dialog.show(); app.exec(); |