diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-09-29 09:56:32 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-10-02 15:51:10 +0300 |
commit | 5de27cdb3296fd043d157e6b067cc903d8977989 (patch) | |
tree | f19c9ac649f33f76640d26eb81482103e48bbf56 | |
parent | 3ce6c15350c43e1fad7764e3f4371faead6979ee (diff) |
Evaluate component aliases only for command line installer runs
Return early from building the component aliases for non-CLI runs, to
save some time from the metadata evaluation phase. The aliases are
currently only usable from installer's CLI.
Change-Id: Id8acde1b8353f498e3dfd0bd69156b17de245105
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 4 | ||||
-rw-r--r-- | tests/auto/installer/componentalias/tst_componentalias.cpp | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index fd2e9abd4..94e8e5b79 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -438,6 +438,10 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c bool PackageManagerCorePrivate::buildComponentAliases() { + // For now, aliases are only used for command line runs + if (!m_core->isCommandLineInstance()) + return true; + { const QList<ComponentAlias *> aliasList = componentAliases(); if (aliasList.isEmpty()) diff --git a/tests/auto/installer/componentalias/tst_componentalias.cpp b/tests/auto/installer/componentalias/tst_componentalias.cpp index d27c1e683..25f3489f9 100644 --- a/tests/auto/installer/componentalias/tst_componentalias.cpp +++ b/tests/auto/installer/componentalias/tst_componentalias.cpp @@ -62,6 +62,8 @@ private slots: QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManager (m_installDir, ":///data/repository")); + core->setCommandLineInstance(true); + auto listMethod = &PackageManagerCore::listAvailableAliases; VerifyInstaller::verifyListPackagesMessage(core.get(), QLatin1String("\n" @@ -102,6 +104,7 @@ private slots: QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManager (m_installDir, ":///data/repository")); + core->setCommandLineInstance(true); core->addAliasSource(AliasSource(AliasSource::SourceFileFormat::Xml, ":///data/aliases-priority.xml", 1)); @@ -135,6 +138,7 @@ private slots: QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManager (m_installDir, ":///data/repository")); + core->setCommandLineInstance(true); core->addAliasSource(AliasSource(AliasSource::SourceFileFormat::Xml, ":///data/aliases-versions.xml", -1)); @@ -208,6 +212,8 @@ private slots: QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit (m_installDir, ":///data/repository")); + core->setCommandLineInstance(true); + if (!additionalSource.isEmpty()) core->addAliasSource(AliasSource(AliasSource::SourceFileFormat::Xml, additionalSource, -1)); @@ -243,6 +249,8 @@ private slots: QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit (m_installDir, ":///data/repository")); + core->setCommandLineInstance(true); + QCOMPARE(status, core->installSelectedComponentsSilently(selectedAliases)); } |