forked from qt-creator/qt-creator
qmljs: phase out qtImportPaths
builtins were always using qtimportPath, which is now being removed, so prefer qtQmlPath. Change-Id: I99d9214c2188507859f27b729c027aaf77eb579e Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
This commit is contained in:
committed by
Fawzi Mohamed
parent
ebea99d399
commit
addb1c171a
@@ -1324,6 +1324,8 @@ LibraryInfo ModelManagerInterface::builtins(const Document::Ptr &doc) const
|
|||||||
ProjectInfo info = projectInfoForPath(doc->path());
|
ProjectInfo info = projectInfoForPath(doc->path());
|
||||||
if (!info.isValid())
|
if (!info.isValid())
|
||||||
return LibraryInfo();
|
return LibraryInfo();
|
||||||
|
if (!info.qtQmlPath.isEmpty())
|
||||||
|
return m_validSnapshot.libraryInfo(info.qtQmlPath);
|
||||||
return m_validSnapshot.libraryInfo(info.qtImportsPath);
|
return m_validSnapshot.libraryInfo(info.qtImportsPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -93,34 +93,35 @@ void PluginDumper::scheduleMaybeRedumpBuiltins(const QmlJS::ModelManagerInterfac
|
|||||||
|
|
||||||
void PluginDumper::onLoadBuiltinTypes(const QmlJS::ModelManagerInterface::ProjectInfo &info, bool force)
|
void PluginDumper::onLoadBuiltinTypes(const QmlJS::ModelManagerInterface::ProjectInfo &info, bool force)
|
||||||
{
|
{
|
||||||
if (info.qmlDumpPath.isEmpty() || info.qtImportsPath.isEmpty())
|
if (info.qmlDumpPath.isEmpty() || (info.qtImportsPath.isEmpty() && info.qtQmlPath.isEmpty()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const QString importsPath = QDir::cleanPath(info.qtImportsPath);
|
const QString baseImportsPath = info.qtQmlPath.isEmpty() ? info.qtImportsPath : info.qtQmlPath;
|
||||||
|
const QString importsPath = QDir::cleanPath(baseImportsPath);
|
||||||
if (m_runningQmldumps.values().contains(importsPath))
|
if (m_runningQmldumps.values().contains(importsPath))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
LibraryInfo builtinInfo;
|
LibraryInfo builtinInfo;
|
||||||
if (!force) {
|
if (!force) {
|
||||||
const Snapshot snapshot = m_modelManager->snapshot();
|
const Snapshot snapshot = m_modelManager->snapshot();
|
||||||
builtinInfo = snapshot.libraryInfo(info.qtImportsPath);
|
builtinInfo = snapshot.libraryInfo(baseImportsPath);
|
||||||
if (builtinInfo.isValid())
|
if (builtinInfo.isValid())
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
builtinInfo = LibraryInfo(LibraryInfo::Found);
|
builtinInfo = LibraryInfo(LibraryInfo::Found);
|
||||||
m_modelManager->updateLibraryInfo(info.qtImportsPath, builtinInfo);
|
m_modelManager->updateLibraryInfo(info.qtImportsPath, builtinInfo);
|
||||||
|
|
||||||
// prefer QTDIR/imports/builtins.qmltypes if available
|
// prefer QTDIR/qml/builtins.qmltypes if available
|
||||||
const QString builtinQmltypesPath = info.qtImportsPath + QLatin1String("/builtins.qmltypes");
|
const QString builtinQmltypesPath = baseImportsPath + QLatin1String("/builtins.qmltypes");
|
||||||
if (QFile::exists(builtinQmltypesPath)) {
|
if (QFile::exists(builtinQmltypesPath)) {
|
||||||
loadQmltypesFile(QStringList(builtinQmltypesPath), info.qtImportsPath, builtinInfo);
|
loadQmltypesFile(QStringList(builtinQmltypesPath), baseImportsPath, builtinInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// QTDIR/imports/QtQuick1/builtins.qmltypes was used in developer builds of 5.0.0, 5.0.1
|
// QTDIR/imports/QtQuick1/builtins.qmltypes was used in developer builds of 5.0.0, 5.0.1
|
||||||
const QString builtinQmltypesPath2 = info.qtImportsPath
|
const QString builtinQmltypesPath2 = info.qtImportsPath
|
||||||
+ QLatin1String("/QtQuick1/builtins.qmltypes");
|
+ QLatin1String("/QtQuick1/builtins.qmltypes");
|
||||||
if (QFile::exists(builtinQmltypesPath2)) {
|
if (QFile::exists(builtinQmltypesPath2)) {
|
||||||
loadQmltypesFile(QStringList(builtinQmltypesPath2), info.qtImportsPath, builtinInfo);
|
loadQmltypesFile(QStringList(builtinQmltypesPath2), baseImportsPath, builtinInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,8 +132,8 @@ void PluginDumper::onLoadBuiltinTypes(const QmlJS::ModelManagerInterface::Projec
|
|||||||
connect(process, SIGNAL(error(QProcess::ProcessError)), SLOT(qmlPluginTypeDumpError(QProcess::ProcessError)));
|
connect(process, SIGNAL(error(QProcess::ProcessError)), SLOT(qmlPluginTypeDumpError(QProcess::ProcessError)));
|
||||||
QStringList args(QLatin1String("--builtins"));
|
QStringList args(QLatin1String("--builtins"));
|
||||||
process->start(info.qmlDumpPath, args);
|
process->start(info.qmlDumpPath, args);
|
||||||
m_runningQmldumps.insert(process, info.qtImportsPath);
|
m_runningQmldumps.insert(process, baseImportsPath);
|
||||||
m_qtToInfo.insert(info.qtImportsPath, info);
|
m_qtToInfo.insert(baseImportsPath, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString makeAbsolute(const QString &path, const QString &base)
|
static QString makeAbsolute(const QString &path, const QString &base)
|
||||||
|
|||||||
Reference in New Issue
Block a user