forked from qt-creator/qt-creator
ExtensionSystem: Introduce alias PluginSpecs
Change-Id: Ic7b87246cf91328c4291bbce5760a45dfa0b14e5 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -91,8 +91,6 @@ const char PLUGINPATH_OPTION[] = "-pluginpath";
|
|||||||
const char LANGUAGE_OPTION[] = "-language";
|
const char LANGUAGE_OPTION[] = "-language";
|
||||||
const char USER_LIBRARY_PATH_OPTION[] = "-user-library-path"; // hidden option for qtcreator.sh
|
const char USER_LIBRARY_PATH_OPTION[] = "-user-library-path"; // hidden option for qtcreator.sh
|
||||||
|
|
||||||
using PluginSpecSet = QVector<PluginSpec *>;
|
|
||||||
|
|
||||||
// Helpers for displaying messages. Note that there is no console on Windows.
|
// Helpers for displaying messages. Note that there is no console on Windows.
|
||||||
|
|
||||||
// Format as <pre> HTML
|
// Format as <pre> HTML
|
||||||
@@ -795,7 +793,7 @@ int main(int argc, char **argv)
|
|||||||
settingspath};
|
settingspath};
|
||||||
PluginManager::setCreatorProcessData(processData);
|
PluginManager::setCreatorProcessData(processData);
|
||||||
|
|
||||||
const PluginSpecSet plugins = PluginManager::plugins();
|
const PluginSpecs plugins = PluginManager::plugins();
|
||||||
PluginSpec *coreplugin = nullptr;
|
PluginSpec *coreplugin = nullptr;
|
||||||
for (PluginSpec *spec : plugins) {
|
for (PluginSpec *spec : plugins) {
|
||||||
if (spec->name() == QLatin1String(corePluginNameC)) {
|
if (spec->name() == QLatin1String(corePluginNameC)) {
|
||||||
|
@@ -50,6 +50,7 @@
|
|||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
Q_LOGGING_CATEGORY(pluginLog, "qtc.extensionsystem", QtWarningMsg)
|
Q_LOGGING_CATEGORY(pluginLog, "qtc.extensionsystem", QtWarningMsg)
|
||||||
|
|
||||||
@@ -327,7 +328,7 @@ void PluginManager::loadPluginsAtRuntime(const QSet<PluginSpec *> &plugins)
|
|||||||
d->loadPluginsAtRuntime(plugins);
|
d->loadPluginsAtRuntime(plugins);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PluginManager::addPlugins(const QVector<PluginSpec *> &specs)
|
void PluginManager::addPlugins(const PluginSpecs &specs)
|
||||||
{
|
{
|
||||||
d->addPlugins(specs);
|
d->addPlugins(specs);
|
||||||
}
|
}
|
||||||
@@ -556,12 +557,12 @@ QStringList PluginManager::argumentsForRestart()
|
|||||||
|
|
||||||
\sa setPluginPaths()
|
\sa setPluginPaths()
|
||||||
*/
|
*/
|
||||||
const QVector<PluginSpec *> PluginManager::plugins()
|
const PluginSpecs PluginManager::plugins()
|
||||||
{
|
{
|
||||||
return d->pluginSpecs;
|
return d->pluginSpecs;
|
||||||
}
|
}
|
||||||
|
|
||||||
QHash<QString, QVector<PluginSpec *>> PluginManager::pluginCollections()
|
QHash<QString, PluginSpecs> PluginManager::pluginCollections()
|
||||||
{
|
{
|
||||||
return d->pluginCategories;
|
return d->pluginCategories;
|
||||||
}
|
}
|
||||||
@@ -903,8 +904,10 @@ PluginManager::ProcessData PluginManager::creatorProcessData()
|
|||||||
/*!
|
/*!
|
||||||
Returns a list of plugins in load order.
|
Returns a list of plugins in load order.
|
||||||
*/
|
*/
|
||||||
QVector<PluginSpec *> PluginManager::loadQueue()
|
PluginSpecs PluginManager::loadQueue()
|
||||||
{
|
{
|
||||||
|
// Ensure order preservation
|
||||||
|
static_assert(std::is_same<PluginSpecs, QList<class PluginSpec *> >::value);
|
||||||
return d->loadQueue();
|
return d->loadQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1034,7 +1037,7 @@ void PluginManagerPrivate::stopAll()
|
|||||||
m_isShuttingDown = true;
|
m_isShuttingDown = true;
|
||||||
delayedInitializeTimer.stop();
|
delayedInitializeTimer.stop();
|
||||||
|
|
||||||
const QVector<PluginSpec *> queue = loadQueue();
|
const PluginSpecs queue = loadQueue();
|
||||||
for (PluginSpec *spec : queue)
|
for (PluginSpec *spec : queue)
|
||||||
loadPlugin(spec, PluginSpec::Stopped);
|
loadPlugin(spec, PluginSpec::Stopped);
|
||||||
}
|
}
|
||||||
@@ -1371,7 +1374,7 @@ void PluginManagerPrivate::loadPlugins()
|
|||||||
if (m_profilingVerbosity > 0)
|
if (m_profilingVerbosity > 0)
|
||||||
qDebug("Profiling started");
|
qDebug("Profiling started");
|
||||||
|
|
||||||
const QVector<PluginSpec *> queue = loadQueue();
|
const PluginSpecs queue = loadQueue();
|
||||||
Utils::setMimeStartupPhase(MimeStartupPhase::PluginsLoading);
|
Utils::setMimeStartupPhase(MimeStartupPhase::PluginsLoading);
|
||||||
{
|
{
|
||||||
NANOTRACE_SCOPE("ExtensionSystem", "Load");
|
NANOTRACE_SCOPE("ExtensionSystem", "Load");
|
||||||
@@ -1477,11 +1480,11 @@ void PluginManagerPrivate::shutdown()
|
|||||||
/*!
|
/*!
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
const QVector<PluginSpec *> PluginManagerPrivate::loadQueue()
|
const PluginSpecs PluginManagerPrivate::loadQueue()
|
||||||
{
|
{
|
||||||
QVector<PluginSpec *> queue;
|
PluginSpecs queue;
|
||||||
for (PluginSpec *spec : std::as_const(pluginSpecs)) {
|
for (PluginSpec *spec : std::as_const(pluginSpecs)) {
|
||||||
QVector<PluginSpec *> circularityCheckQueue;
|
PluginSpecs circularityCheckQueue;
|
||||||
loadQueue(spec, queue, circularityCheckQueue);
|
loadQueue(spec, queue, circularityCheckQueue);
|
||||||
}
|
}
|
||||||
return queue;
|
return queue;
|
||||||
@@ -1491,8 +1494,8 @@ const QVector<PluginSpec *> PluginManagerPrivate::loadQueue()
|
|||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
bool PluginManagerPrivate::loadQueue(PluginSpec *spec,
|
bool PluginManagerPrivate::loadQueue(PluginSpec *spec,
|
||||||
QVector<PluginSpec *> &queue,
|
PluginSpecs &queue,
|
||||||
QVector<PluginSpec *> &circularityCheckQueue)
|
PluginSpecs &circularityCheckQueue)
|
||||||
{
|
{
|
||||||
if (queue.contains(spec))
|
if (queue.contains(spec))
|
||||||
return true;
|
return true;
|
||||||
@@ -1757,7 +1760,7 @@ static const FilePaths pluginFiles(const FilePaths &pluginPaths)
|
|||||||
return pluginFiles;
|
return pluginFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PluginManagerPrivate::addPlugins(const QVector<PluginSpec *> &specs)
|
void PluginManagerPrivate::addPlugins(const PluginSpecs &specs)
|
||||||
{
|
{
|
||||||
pluginSpecs += specs;
|
pluginSpecs += specs;
|
||||||
|
|
||||||
@@ -1791,7 +1794,7 @@ void PluginManagerPrivate::addPlugins(const QVector<PluginSpec *> &specs)
|
|||||||
*/
|
*/
|
||||||
void PluginManagerPrivate::readPluginPaths()
|
void PluginManagerPrivate::readPluginPaths()
|
||||||
{
|
{
|
||||||
QVector<PluginSpec *> newSpecs;
|
PluginSpecs newSpecs;
|
||||||
|
|
||||||
// from the file system
|
// from the file system
|
||||||
for (const FilePath &pluginFile : pluginFiles(pluginPaths)) {
|
for (const FilePath &pluginFile : pluginFiles(pluginPaths)) {
|
||||||
@@ -1826,7 +1829,7 @@ void PluginManagerPrivate::enableDependenciesIndirectly()
|
|||||||
for (PluginSpec *spec : std::as_const(pluginSpecs))
|
for (PluginSpec *spec : std::as_const(pluginSpecs))
|
||||||
spec->setEnabledIndirectly(false);
|
spec->setEnabledIndirectly(false);
|
||||||
// cannot use reverse loadQueue here, because test dependencies can introduce circles
|
// cannot use reverse loadQueue here, because test dependencies can introduce circles
|
||||||
QVector<PluginSpec *> queue = Utils::filtered(pluginSpecs, &PluginSpec::isEffectivelyEnabled);
|
PluginSpecs queue = Utils::filtered(pluginSpecs, &PluginSpec::isEffectivelyEnabled);
|
||||||
while (!queue.isEmpty()) {
|
while (!queue.isEmpty()) {
|
||||||
PluginSpec *spec = queue.takeFirst();
|
PluginSpec *spec = queue.takeFirst();
|
||||||
queue += spec->enableDependenciesIndirectly(containsTestSpec(spec));
|
queue += spec->enableDependenciesIndirectly(containsTestSpec(spec));
|
||||||
@@ -1900,7 +1903,7 @@ void PluginManagerPrivate::profilingReport(const char *what, const PluginSpec *s
|
|||||||
QString PluginManagerPrivate::profilingSummary(qint64 *totalOut) const
|
QString PluginManagerPrivate::profilingSummary(qint64 *totalOut) const
|
||||||
{
|
{
|
||||||
QString summary;
|
QString summary;
|
||||||
const QVector<PluginSpec *> specs = Utils::sorted(pluginSpecs,
|
const PluginSpecs specs = Utils::sorted(pluginSpecs,
|
||||||
[](PluginSpec *s1, PluginSpec *s2) {
|
[](PluginSpec *s1, PluginSpec *s2) {
|
||||||
return s1->performanceData().total()
|
return s1->performanceData().total()
|
||||||
< s2->performanceData().total();
|
< s2->performanceData().total();
|
||||||
|
@@ -635,12 +635,12 @@ void PluginSpec::setForceEnabled(bool value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// returns the plugins that it actually indirectly enabled
|
// returns the plugins that it actually indirectly enabled
|
||||||
QVector<PluginSpec *> PluginSpec::enableDependenciesIndirectly(bool enableTestDependencies)
|
PluginSpecs PluginSpec::enableDependenciesIndirectly(bool enableTestDependencies)
|
||||||
{
|
{
|
||||||
if (!isEffectivelyEnabled()) // plugin not enabled, nothing to do
|
if (!isEffectivelyEnabled()) // plugin not enabled, nothing to do
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
QVector<PluginSpec *> enabled;
|
PluginSpecs enabled;
|
||||||
for (auto it = d->dependencySpecs.cbegin(), end = d->dependencySpecs.cend(); it != end; ++it) {
|
for (auto it = d->dependencySpecs.cbegin(), end = d->dependencySpecs.cend(); it != end; ++it) {
|
||||||
if (it.key().type != PluginDependency::Required
|
if (it.key().type != PluginDependency::Required
|
||||||
&& (!enableTestDependencies || it.key().type != PluginDependency::Test))
|
&& (!enableTestDependencies || it.key().type != PluginDependency::Test))
|
||||||
@@ -1058,7 +1058,7 @@ int PluginSpec::versionCompare(const QString &version1, const QString &version2)
|
|||||||
/*!
|
/*!
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
bool PluginSpec::resolveDependencies(const QVector<PluginSpec *> &specs)
|
bool PluginSpec::resolveDependencies(const PluginSpecs &specs)
|
||||||
{
|
{
|
||||||
if (hasError())
|
if (hasError())
|
||||||
return false;
|
return false;
|
||||||
|
@@ -78,6 +78,8 @@ struct EXTENSIONSYSTEM_EXPORT PerformanceData
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using PluginSpecs = QList<class PluginSpec *>;
|
||||||
|
|
||||||
class EXTENSIONSYSTEM_EXPORT PluginSpec
|
class EXTENSIONSYSTEM_EXPORT PluginSpec
|
||||||
{
|
{
|
||||||
friend class ::tst_PluginSpec;
|
friend class ::tst_PluginSpec;
|
||||||
@@ -130,8 +132,8 @@ public:
|
|||||||
|
|
||||||
virtual bool provides(const QString &pluginName, const QString &pluginVersion) const;
|
virtual bool provides(const QString &pluginName, const QString &pluginVersion) const;
|
||||||
virtual bool requiresAny(const QSet<PluginSpec *> &plugins) const;
|
virtual bool requiresAny(const QSet<PluginSpec *> &plugins) const;
|
||||||
virtual QVector<PluginSpec *> enableDependenciesIndirectly(bool enableTestDependencies);
|
virtual PluginSpecs enableDependenciesIndirectly(bool enableTestDependencies);
|
||||||
virtual bool resolveDependencies(const QVector<PluginSpec *> &pluginSpecs);
|
virtual bool resolveDependencies(const PluginSpecs &pluginSpecs);
|
||||||
|
|
||||||
virtual IPlugin *plugin() const = 0;
|
virtual IPlugin *plugin() const = 0;
|
||||||
virtual State state() const;
|
virtual State state() const;
|
||||||
|
@@ -198,7 +198,7 @@ public:
|
|||||||
class CollectionItem : public TreeItem
|
class CollectionItem : public TreeItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CollectionItem(const QString &name, const QVector<PluginSpec *> &plugins, PluginView *view)
|
CollectionItem(const QString &name, const PluginSpecs &plugins, PluginView *view)
|
||||||
: m_name(name)
|
: m_name(name)
|
||||||
, m_plugins(plugins)
|
, m_plugins(plugins)
|
||||||
, m_view(view)
|
, m_view(view)
|
||||||
@@ -238,7 +238,7 @@ public:
|
|||||||
bool setData(int column, const QVariant &data, int role) override
|
bool setData(int column, const QVariant &data, int role) override
|
||||||
{
|
{
|
||||||
if (column == LoadedColumn && role == Qt::CheckStateRole) {
|
if (column == LoadedColumn && role == Qt::CheckStateRole) {
|
||||||
const QVector<PluginSpec *> affectedPlugins
|
const PluginSpecs affectedPlugins
|
||||||
= Utils::filtered(m_plugins, [](PluginSpec *spec) { return !spec->isRequired(); });
|
= Utils::filtered(m_plugins, [](PluginSpec *spec) { return !spec->isRequired(); });
|
||||||
if (m_view->setPluginsEnabled(toSet(affectedPlugins), data.toBool())) {
|
if (m_view->setPluginsEnabled(toSet(affectedPlugins), data.toBool())) {
|
||||||
update();
|
update();
|
||||||
@@ -258,7 +258,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
const QVector<PluginSpec *> m_plugins;
|
const PluginSpecs m_plugins;
|
||||||
PluginView *m_view; // Not owned.
|
PluginView *m_view; // Not owned.
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -346,7 +346,7 @@ void PluginView::updatePlugins()
|
|||||||
// Model.
|
// Model.
|
||||||
m_model->clear();
|
m_model->clear();
|
||||||
|
|
||||||
const QHash<QString, QVector<PluginSpec *>> pluginCollections
|
const QHash<QString, PluginSpecs> pluginCollections
|
||||||
= PluginManager::pluginCollections();
|
= PluginManager::pluginCollections();
|
||||||
std::vector<CollectionItem *> collections;
|
std::vector<CollectionItem *> collections;
|
||||||
const auto end = pluginCollections.cend();
|
const auto end = pluginCollections.cend();
|
||||||
|
@@ -33,7 +33,7 @@ namespace ClangFormat {
|
|||||||
|
|
||||||
static bool isBeautifierPluginActivated()
|
static bool isBeautifierPluginActivated()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> specs = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs specs = ExtensionSystem::PluginManager::plugins();
|
||||||
return std::find_if(specs.begin(),
|
return std::find_if(specs.begin(),
|
||||||
specs.end(),
|
specs.end(),
|
||||||
[](ExtensionSystem::PluginSpec *spec) {
|
[](ExtensionSystem::PluginSpec *spec) {
|
||||||
|
@@ -401,7 +401,7 @@ QSet<Id> IWizardFactory::pluginFeatures()
|
|||||||
{
|
{
|
||||||
if (s_plugins.isEmpty()) {
|
if (s_plugins.isEmpty()) {
|
||||||
// Implicitly create a feature for each plugin loaded:
|
// Implicitly create a feature for each plugin loaded:
|
||||||
const QVector<ExtensionSystem::PluginSpec *> pluginVector = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs pluginVector = ExtensionSystem::PluginManager::plugins();
|
||||||
for (const ExtensionSystem::PluginSpec *s : pluginVector) {
|
for (const ExtensionSystem::PluginSpec *s : pluginVector) {
|
||||||
if (s->state() == ExtensionSystem::PluginSpec::Running)
|
if (s->state() == ExtensionSystem::PluginSpec::Running)
|
||||||
s_plugins.insert(Id::fromString(s->name()));
|
s_plugins.insert(Id::fromString(s->name()));
|
||||||
|
@@ -37,7 +37,6 @@ namespace ExtensionManager::Internal {
|
|||||||
|
|
||||||
Q_LOGGING_CATEGORY(browserLog, "qtc.extensionmanager.browser", QtWarningMsg)
|
Q_LOGGING_CATEGORY(browserLog, "qtc.extensionmanager.browser", QtWarningMsg)
|
||||||
|
|
||||||
using PluginSpecList = QList<const PluginSpec *>;
|
|
||||||
using Tags = QStringList;
|
using Tags = QStringList;
|
||||||
|
|
||||||
constexpr QSize itemSize = {330, 86};
|
constexpr QSize itemSize = {330, 86};
|
||||||
|
@@ -1722,7 +1722,7 @@ void editIn3dView(const SelectionContext &selectionContext)
|
|||||||
|
|
||||||
bool isEffectComposerActivated()
|
bool isEffectComposerActivated()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> specs = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs specs = ExtensionSystem::PluginManager::plugins();
|
||||||
return std::find_if(specs.begin(), specs.end(),
|
return std::find_if(specs.begin(), specs.end(),
|
||||||
[](ExtensionSystem::PluginSpec *spec) {
|
[](ExtensionSystem::PluginSpec *spec) {
|
||||||
return spec->name() == "EffectComposer" && spec->isEffectivelyEnabled();
|
return spec->name() == "EffectComposer" && spec->isEffectivelyEnabled();
|
||||||
|
@@ -165,7 +165,7 @@ void QmlPreviewWidgetPlugin::setLanguageLocale(const QString &locale)
|
|||||||
|
|
||||||
QObject *QmlPreviewWidgetPlugin::getPreviewPlugin()
|
QObject *QmlPreviewWidgetPlugin::getPreviewPlugin()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> &specs = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||||
const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(),
|
const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(),
|
||||||
[](const ExtensionSystem::PluginSpec *p) {
|
[](const ExtensionSystem::PluginSpec *p) {
|
||||||
return p->name() == "QmlPreview";
|
return p->name() == "QmlPreview";
|
||||||
|
@@ -29,7 +29,7 @@ private slots:
|
|||||||
|
|
||||||
static ExtensionSystem::IPlugin *getPlugin()
|
static ExtensionSystem::IPlugin *getPlugin()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> plugins = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs plugins = ExtensionSystem::PluginManager::plugins();
|
||||||
auto it = std::find_if(plugins.begin(), plugins.end(), [](ExtensionSystem::PluginSpec *spec) {
|
auto it = std::find_if(plugins.begin(), plugins.end(), [](ExtensionSystem::PluginSpec *spec) {
|
||||||
return spec->name() == "QmlPreview";
|
return spec->name() == "QmlPreview";
|
||||||
});
|
});
|
||||||
|
@@ -21,7 +21,7 @@ namespace QmlProjectManager {
|
|||||||
|
|
||||||
static bool isMultilanguagePresent()
|
static bool isMultilanguagePresent()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> &specs = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||||
return std::find_if(specs.cbegin(), specs.cend(),
|
return std::find_if(specs.cbegin(), specs.cend(),
|
||||||
[](ExtensionSystem::PluginSpec *spec) {
|
[](ExtensionSystem::PluginSpec *spec) {
|
||||||
return spec->name() == "MultiLanguage";
|
return spec->name() == "MultiLanguage";
|
||||||
@@ -41,7 +41,7 @@ static FilePath getMultilanguageDatabaseFilePath(ProjectExplorer::Target *target
|
|||||||
|
|
||||||
static QObject *getPreviewPlugin()
|
static QObject *getPreviewPlugin()
|
||||||
{
|
{
|
||||||
const QVector<ExtensionSystem::PluginSpec *> &specs = ExtensionSystem::PluginManager::plugins();
|
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||||
const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(),
|
const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(),
|
||||||
[](const ExtensionSystem::PluginSpec *p) {
|
[](const ExtensionSystem::PluginSpec *p) {
|
||||||
return p->name() == "QmlPreview";
|
return p->name() == "QmlPreview";
|
||||||
|
@@ -140,7 +140,7 @@ void tst_PluginManager::circularPlugins()
|
|||||||
{
|
{
|
||||||
PluginManager::setPluginPaths({pluginFolder(QLatin1String("circularplugins"))});
|
PluginManager::setPluginPaths({pluginFolder(QLatin1String("circularplugins"))});
|
||||||
PluginManager::loadPlugins();
|
PluginManager::loadPlugins();
|
||||||
const QVector<PluginSpec *> plugins = PluginManager::plugins();
|
const PluginSpecs plugins = PluginManager::plugins();
|
||||||
QCOMPARE(plugins.count(), 3);
|
QCOMPARE(plugins.count(), 3);
|
||||||
for (PluginSpec *spec : plugins) {
|
for (PluginSpec *spec : plugins) {
|
||||||
if (spec->name() == "plugin1") {
|
if (spec->name() == "plugin1") {
|
||||||
@@ -164,7 +164,7 @@ void tst_PluginManager::correctPlugins1()
|
|||||||
PluginManager::loadPlugins();
|
PluginManager::loadPlugins();
|
||||||
bool specError = false;
|
bool specError = false;
|
||||||
bool runError = false;
|
bool runError = false;
|
||||||
const QVector<PluginSpec *> plugins = PluginManager::plugins();
|
const PluginSpecs plugins = PluginManager::plugins();
|
||||||
for (PluginSpec *spec : plugins) {
|
for (PluginSpec *spec : plugins) {
|
||||||
if (spec->hasError()) {
|
if (spec->hasError()) {
|
||||||
qDebug() << spec->filePath();
|
qDebug() << spec->filePath();
|
||||||
|
@@ -232,7 +232,7 @@ void tst_PluginSpec::locationAndPath()
|
|||||||
|
|
||||||
void tst_PluginSpec::resolveDependencies()
|
void tst_PluginSpec::resolveDependencies()
|
||||||
{
|
{
|
||||||
QVector<PluginSpec *> specs;
|
PluginSpecs specs;
|
||||||
PluginSpec *spec1 = new CppPluginSpec();
|
PluginSpec *spec1 = new CppPluginSpec();
|
||||||
specs.append(spec1);
|
specs.append(spec1);
|
||||||
spec1->readMetaData(metaData("testdependencies/spec1.json"));
|
spec1->readMetaData(metaData("testdependencies/spec1.json"));
|
||||||
@@ -276,7 +276,7 @@ void tst_PluginSpec::loadLibrary()
|
|||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
||||||
|
|
||||||
QVERIFY(spec->resolveDependencies(QVector<PluginSpec *>()));
|
QVERIFY(spec->resolveDependencies({}));
|
||||||
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
||||||
QVERIFY(spec->plugin() != 0);
|
QVERIFY(spec->plugin() != 0);
|
||||||
QVERIFY(QLatin1String(spec->plugin()->metaObject()->className())
|
QVERIFY(QLatin1String(spec->plugin()->metaObject()->className())
|
||||||
@@ -293,7 +293,7 @@ void tst_PluginSpec::initializePlugin()
|
|||||||
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
|
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
|
||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
||||||
QVERIFY(spec->resolveDependencies(QVector<PluginSpec *>()));
|
QVERIFY(spec->resolveDependencies({}));
|
||||||
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
||||||
bool isInitialized;
|
bool isInitialized;
|
||||||
QMetaObject::invokeMethod(spec->plugin(),
|
QMetaObject::invokeMethod(spec->plugin(),
|
||||||
@@ -317,7 +317,7 @@ void tst_PluginSpec::initializeExtensions()
|
|||||||
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
|
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
|
||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps.value());
|
||||||
QVERIFY(spec->resolveDependencies(QVector<PluginSpec *>()));
|
QVERIFY(spec->resolveDependencies({}));
|
||||||
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
|
||||||
bool isExtensionsInitialized;
|
bool isExtensionsInitialized;
|
||||||
QVERIFY(spec->initializePlugin());
|
QVERIFY(spec->initializePlugin());
|
||||||
|
Reference in New Issue
Block a user