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());
|
||||
if (!info.isValid())
|
||||
return LibraryInfo();
|
||||
if (!info.qtQmlPath.isEmpty())
|
||||
return m_validSnapshot.libraryInfo(info.qtQmlPath);
|
||||
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)
|
||||
{
|
||||
if (info.qmlDumpPath.isEmpty() || info.qtImportsPath.isEmpty())
|
||||
if (info.qmlDumpPath.isEmpty() || (info.qtImportsPath.isEmpty() && info.qtQmlPath.isEmpty()))
|
||||
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))
|
||||
return;
|
||||
|
||||
LibraryInfo builtinInfo;
|
||||
if (!force) {
|
||||
const Snapshot snapshot = m_modelManager->snapshot();
|
||||
builtinInfo = snapshot.libraryInfo(info.qtImportsPath);
|
||||
builtinInfo = snapshot.libraryInfo(baseImportsPath);
|
||||
if (builtinInfo.isValid())
|
||||
return;
|
||||
}
|
||||
builtinInfo = LibraryInfo(LibraryInfo::Found);
|
||||
m_modelManager->updateLibraryInfo(info.qtImportsPath, builtinInfo);
|
||||
|
||||
// prefer QTDIR/imports/builtins.qmltypes if available
|
||||
const QString builtinQmltypesPath = info.qtImportsPath + QLatin1String("/builtins.qmltypes");
|
||||
// prefer QTDIR/qml/builtins.qmltypes if available
|
||||
const QString builtinQmltypesPath = baseImportsPath + QLatin1String("/builtins.qmltypes");
|
||||
if (QFile::exists(builtinQmltypesPath)) {
|
||||
loadQmltypesFile(QStringList(builtinQmltypesPath), info.qtImportsPath, builtinInfo);
|
||||
loadQmltypesFile(QStringList(builtinQmltypesPath), baseImportsPath, builtinInfo);
|
||||
return;
|
||||
}
|
||||
// QTDIR/imports/QtQuick1/builtins.qmltypes was used in developer builds of 5.0.0, 5.0.1
|
||||
const QString builtinQmltypesPath2 = info.qtImportsPath
|
||||
+ QLatin1String("/QtQuick1/builtins.qmltypes");
|
||||
if (QFile::exists(builtinQmltypesPath2)) {
|
||||
loadQmltypesFile(QStringList(builtinQmltypesPath2), info.qtImportsPath, builtinInfo);
|
||||
loadQmltypesFile(QStringList(builtinQmltypesPath2), baseImportsPath, builtinInfo);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -131,8 +132,8 @@ void PluginDumper::onLoadBuiltinTypes(const QmlJS::ModelManagerInterface::Projec
|
||||
connect(process, SIGNAL(error(QProcess::ProcessError)), SLOT(qmlPluginTypeDumpError(QProcess::ProcessError)));
|
||||
QStringList args(QLatin1String("--builtins"));
|
||||
process->start(info.qmlDumpPath, args);
|
||||
m_runningQmldumps.insert(process, info.qtImportsPath);
|
||||
m_qtToInfo.insert(info.qtImportsPath, info);
|
||||
m_runningQmldumps.insert(process, baseImportsPath);
|
||||
m_qtToInfo.insert(baseImportsPath, info);
|
||||
}
|
||||
|
||||
static QString makeAbsolute(const QString &path, const QString &base)
|
||||
|
||||
Reference in New Issue
Block a user