QmlJS: Dump builtins per Qt version.

Change-Id: I7b5179c4b33c24e83baf0536d158dd48d277637f
Reviewed-on: http://codereview.qt.nokia.com/1305
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
Christian Kamm
2011-06-28 12:01:56 +02:00
committed by Fawzi Mohamed
parent 23decd9d34
commit 4285b48455
19 changed files with 230 additions and 97 deletions

View File

@@ -33,6 +33,8 @@
#ifndef QMLJSPLUGINDUMPER_H
#define QMLJSPLUGINDUMPER_H
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <QtCore/QObject>
#include <QtCore/QHash>
#include <QtCore/QProcess>
@@ -57,13 +59,18 @@ public:
explicit PluginDumper(ModelManager *modelManager);
public:
void loadBuiltinTypes(const QmlJS::ModelManagerInterface::ProjectInfo &info);
void loadPluginTypes(const QString &libraryPath, const QString &importPath,
const QString &importUri, const QString &importVersion);
void scheduleCompleteRedump();
void scheduleRedumpPlugins();
void scheduleMaybeRedumpBuiltins(const QmlJS::ModelManagerInterface::ProjectInfo &info);
private slots:
void onLoadBuiltinTypes(const QmlJS::ModelManagerInterface::ProjectInfo &info,
bool force = false);
void onLoadPluginTypes(const QString &libraryPath, const QString &importPath,
const QString &importUri, const QString &importVersion);
void dumpBuiltins(const QmlJS::ModelManagerInterface::ProjectInfo &info);
void dumpAllPlugins();
void qmlPluginTypeDumpDone(int exitCode);
void qmlPluginTypeDumpError(QProcess::ProcessError error);
@@ -82,6 +89,9 @@ private:
};
void dump(const Plugin &plugin);
void loadQmltypesFile(const QString &qmltypesFilePath,
const QString &libraryPath,
QmlJS::LibraryInfo libraryInfo);
QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
const QString &baseName);
QString resolvePlugin(const QDir &qmldirPath, const QString &qmldirPluginPath,
@@ -96,6 +106,7 @@ private:
QHash<QProcess *, QString> m_runningQmldumps;
QList<Plugin> m_plugins;
QHash<QString, int> m_libraryToPluginIndex;
QHash<QString, QmlJS::ModelManagerInterface::ProjectInfo> m_qtToInfo;
};
} // namespace Internal