summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2023-09-29 09:56:32 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2023-10-02 15:51:10 +0300
commit5de27cdb3296fd043d157e6b067cc903d8977989 (patch)
treef19c9ac649f33f76640d26eb81482103e48bbf56
parent3ce6c15350c43e1fad7764e3f4371faead6979ee (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.cpp4
-rw-r--r--tests/auto/installer/componentalias/tst_componentalias.cpp8
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));
}