forked from qt-creator/qt-creator
ExtensionSystem: Fix compile without WITH_TESTS
PluginSpecImpl::read is used outside of tests, but PluginSpecImpl itself
is only exported when WITH_TESTS is on. So compilation without
WITH_TESTS would fail. To circumvent this the ::read functions are moved
outside of the PluginSpecImpl and friend'd to it.
Amends b39b192518
Change-Id: I4bd8ce087267ab4e059cff2470ff882c7db6fd78
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -1790,7 +1790,7 @@ void PluginManagerPrivate::readPluginPaths()
|
|||||||
|
|
||||||
// from the file system
|
// from the file system
|
||||||
for (const QString &pluginFile : pluginFiles(pluginPaths)) {
|
for (const QString &pluginFile : pluginFiles(pluginPaths)) {
|
||||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(pluginFile);
|
expected_str<PluginSpec *> spec = readPluginSpec(pluginFile);
|
||||||
if (!spec) {
|
if (!spec) {
|
||||||
qCInfo(pluginLog).noquote()
|
qCInfo(pluginLog).noquote()
|
||||||
<< QString("Ignoring plugin \"%1\" because: %2").arg(pluginFile).arg(spec.error());
|
<< QString("Ignoring plugin \"%1\" because: %2").arg(pluginFile).arg(spec.error());
|
||||||
@@ -1801,7 +1801,7 @@ void PluginManagerPrivate::readPluginPaths()
|
|||||||
|
|
||||||
// static
|
// static
|
||||||
for (const QStaticPlugin &plugin : QPluginLoader::staticPlugins()) {
|
for (const QStaticPlugin &plugin : QPluginLoader::staticPlugins()) {
|
||||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(plugin);
|
expected_str<PluginSpec *> spec = readPluginSpec(plugin);
|
||||||
QTC_ASSERT_EXPECTED(spec, continue);
|
QTC_ASSERT_EXPECTED(spec, continue);
|
||||||
newSpecs.append(*spec);
|
newSpecs.append(*spec);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -692,7 +692,7 @@ namespace {
|
|||||||
\internal
|
\internal
|
||||||
Returns false if the file does not represent a Qt Creator plugin.
|
Returns false if the file does not represent a Qt Creator plugin.
|
||||||
*/
|
*/
|
||||||
expected_str<PluginSpec *> PluginSpecImpl::read(const QString &fileName)
|
expected_str<PluginSpec *> readPluginSpec(const QString &fileName)
|
||||||
{
|
{
|
||||||
auto spec = new PluginSpecImpl;
|
auto spec = new PluginSpecImpl;
|
||||||
|
|
||||||
@@ -715,7 +715,7 @@ expected_str<PluginSpec *> PluginSpecImpl::read(const QString &fileName)
|
|||||||
return spec;
|
return spec;
|
||||||
}
|
}
|
||||||
|
|
||||||
expected_str<PluginSpec *> PluginSpecImpl::read(const QStaticPlugin &plugin)
|
expected_str<PluginSpec *> readPluginSpec(const QStaticPlugin &plugin)
|
||||||
{
|
{
|
||||||
auto spec = new PluginSpecImpl;
|
auto spec = new PluginSpecImpl;
|
||||||
|
|
||||||
|
|||||||
@@ -169,8 +169,16 @@ private:
|
|||||||
std::unique_ptr<Internal::PluginSpecPrivate> d;
|
std::unique_ptr<Internal::PluginSpecPrivate> d;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(const QString &filePath);
|
||||||
|
EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(const QStaticPlugin &plugin);
|
||||||
|
|
||||||
class EXTENSIONSYSTEM_TEST_EXPORT PluginSpecImpl : public PluginSpec
|
class EXTENSIONSYSTEM_TEST_EXPORT PluginSpecImpl : public PluginSpec
|
||||||
{
|
{
|
||||||
|
friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(
|
||||||
|
const QString &filePath);
|
||||||
|
friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(
|
||||||
|
const QStaticPlugin &plugin);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
~PluginSpecImpl() override;
|
~PluginSpecImpl() override;
|
||||||
|
|
||||||
@@ -184,9 +192,6 @@ public:
|
|||||||
IPlugin::ShutdownFlag stop() override;
|
IPlugin::ShutdownFlag stop() override;
|
||||||
void kill() override;
|
void kill() override;
|
||||||
|
|
||||||
static Utils::expected_str<PluginSpec *> read(const QString &filePath);
|
|
||||||
static Utils::expected_str<PluginSpec *> read(const QStaticPlugin &plugin);
|
|
||||||
|
|
||||||
Utils::expected_str<void> readMetaData(const QJsonObject &pluginMetaData) override;
|
Utils::expected_str<void> readMetaData(const QJsonObject &pluginMetaData) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ void checkContents(QPromise<ArchiveIssue> &promise, const FilePath &tempDir)
|
|||||||
if (promise.isCanceled())
|
if (promise.isCanceled())
|
||||||
return;
|
return;
|
||||||
it.next();
|
it.next();
|
||||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(it.filePath());
|
expected_str<PluginSpec *> spec = readPluginSpec(it.filePath());
|
||||||
if (spec) {
|
if (spec) {
|
||||||
// Is a Qt Creator plugin. Let's see if we find a Core dependency and check the
|
// Is a Qt Creator plugin. Let's see if we find a Core dependency and check the
|
||||||
// version
|
// version
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ void tst_PluginSpec::experimental()
|
|||||||
|
|
||||||
void tst_PluginSpec::locationAndPath()
|
void tst_PluginSpec::locationAndPath()
|
||||||
{
|
{
|
||||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||||
+ libraryName(QLatin1String("test")));
|
+ libraryName(QLatin1String("test")));
|
||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
@@ -271,7 +271,7 @@ void tst_PluginSpec::resolveDependencies()
|
|||||||
|
|
||||||
void tst_PluginSpec::loadLibrary()
|
void tst_PluginSpec::loadLibrary()
|
||||||
{
|
{
|
||||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||||
+ libraryName(QLatin1String("test")));
|
+ libraryName(QLatin1String("test")));
|
||||||
|
|
||||||
@@ -291,7 +291,7 @@ void tst_PluginSpec::loadLibrary()
|
|||||||
|
|
||||||
void tst_PluginSpec::initializePlugin()
|
void tst_PluginSpec::initializePlugin()
|
||||||
{
|
{
|
||||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||||
+ libraryName(QLatin1String("test")));
|
+ libraryName(QLatin1String("test")));
|
||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
@@ -316,7 +316,7 @@ void tst_PluginSpec::initializePlugin()
|
|||||||
|
|
||||||
void tst_PluginSpec::initializeExtensions()
|
void tst_PluginSpec::initializeExtensions()
|
||||||
{
|
{
|
||||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||||
+ libraryName(QLatin1String("test")));
|
+ libraryName(QLatin1String("test")));
|
||||||
QVERIFY(ps);
|
QVERIFY(ps);
|
||||||
|
|||||||
Reference in New Issue
Block a user