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
|
||||
for (const QString &pluginFile : pluginFiles(pluginPaths)) {
|
||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(pluginFile);
|
||||
expected_str<PluginSpec *> spec = readPluginSpec(pluginFile);
|
||||
if (!spec) {
|
||||
qCInfo(pluginLog).noquote()
|
||||
<< QString("Ignoring plugin \"%1\" because: %2").arg(pluginFile).arg(spec.error());
|
||||
@@ -1801,7 +1801,7 @@ void PluginManagerPrivate::readPluginPaths()
|
||||
|
||||
// static
|
||||
for (const QStaticPlugin &plugin : QPluginLoader::staticPlugins()) {
|
||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(plugin);
|
||||
expected_str<PluginSpec *> spec = readPluginSpec(plugin);
|
||||
QTC_ASSERT_EXPECTED(spec, continue);
|
||||
newSpecs.append(*spec);
|
||||
}
|
||||
|
||||
@@ -692,7 +692,7 @@ namespace {
|
||||
\internal
|
||||
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;
|
||||
|
||||
@@ -715,7 +715,7 @@ expected_str<PluginSpec *> PluginSpecImpl::read(const QString &fileName)
|
||||
return spec;
|
||||
}
|
||||
|
||||
expected_str<PluginSpec *> PluginSpecImpl::read(const QStaticPlugin &plugin)
|
||||
expected_str<PluginSpec *> readPluginSpec(const QStaticPlugin &plugin)
|
||||
{
|
||||
auto spec = new PluginSpecImpl;
|
||||
|
||||
|
||||
@@ -169,8 +169,16 @@ private:
|
||||
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
|
||||
{
|
||||
friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(
|
||||
const QString &filePath);
|
||||
friend EXTENSIONSYSTEM_EXPORT Utils::expected_str<PluginSpec *> readPluginSpec(
|
||||
const QStaticPlugin &plugin);
|
||||
|
||||
public:
|
||||
~PluginSpecImpl() override;
|
||||
|
||||
@@ -184,9 +192,6 @@ public:
|
||||
IPlugin::ShutdownFlag stop() 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;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -154,7 +154,7 @@ void checkContents(QPromise<ArchiveIssue> &promise, const FilePath &tempDir)
|
||||
if (promise.isCanceled())
|
||||
return;
|
||||
it.next();
|
||||
expected_str<PluginSpec *> spec = PluginSpecImpl::read(it.filePath());
|
||||
expected_str<PluginSpec *> spec = readPluginSpec(it.filePath());
|
||||
if (spec) {
|
||||
// Is a Qt Creator plugin. Let's see if we find a Core dependency and check the
|
||||
// version
|
||||
|
||||
@@ -220,7 +220,7 @@ void tst_PluginSpec::experimental()
|
||||
|
||||
void tst_PluginSpec::locationAndPath()
|
||||
{
|
||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
||||
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||
+ libraryName(QLatin1String("test")));
|
||||
QVERIFY(ps);
|
||||
@@ -271,7 +271,7 @@ void tst_PluginSpec::resolveDependencies()
|
||||
|
||||
void tst_PluginSpec::loadLibrary()
|
||||
{
|
||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
||||
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||
+ libraryName(QLatin1String("test")));
|
||||
|
||||
@@ -291,7 +291,7 @@ void tst_PluginSpec::loadLibrary()
|
||||
|
||||
void tst_PluginSpec::initializePlugin()
|
||||
{
|
||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
||||
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||
+ libraryName(QLatin1String("test")));
|
||||
QVERIFY(ps);
|
||||
@@ -316,7 +316,7 @@ void tst_PluginSpec::initializePlugin()
|
||||
|
||||
void tst_PluginSpec::initializeExtensions()
|
||||
{
|
||||
Utils::expected_str<PluginSpec *> ps = PluginSpecImpl::read(
|
||||
Utils::expected_str<PluginSpec *> ps = readPluginSpec(
|
||||
QLatin1String(PLUGIN_DIR) + QLatin1String("/testplugin/")
|
||||
+ libraryName(QLatin1String("test")));
|
||||
QVERIFY(ps);
|
||||
|
||||
Reference in New Issue
Block a user