diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-05-22 18:46:33 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2023-09-14 06:27:48 +0000 |
commit | 554aacf002690075872682b03e0bc836cf9cafe8 (patch) | |
tree | 5a2cc12d0c488068f3d5a6e2ec1a09a8701c8ffc /src/libs/installer/packagemanagercore.h | |
parent | 21e13337359d3d5fe63631127530c18a3191e83d (diff) |
Add support for component aliases
Introduce concept of component aliases, which act as an alternative way
for referring a set of related components.
Component aliases are declared in an alias definition file, which is
included to the created installer's binary layout as a resource. The
file lists the available aliases, including metadata - such as name,
version, and description - and the list of components and other aliases
the alias requires.
Aliases can be referred only from the CLI for the time being, with the
supported commands 'install' and 'search'.
Task-number: QTIFW-2978
Change-Id: I281f171cc7d932ce496051d7090ae169a4709eec
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagercore.h')
-rw-r--r-- | src/libs/installer/packagemanagercore.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h index f85e5fcae..10df10377 100644 --- a/src/libs/installer/packagemanagercore.h +++ b/src/libs/installer/packagemanagercore.h @@ -45,7 +45,9 @@ namespace QInstaller { +struct AliasSource; class ComponentModel; +class ComponentAlias; class ScriptEngine; class PackageManagerCorePrivate; class PackageManagerProxyFactory; @@ -202,6 +204,8 @@ public: void setOfflineBinaryName(const QString &name); QString offlineBinaryName() const; + void addAliasSource(const AliasSource &source); + Q_INVOKABLE void addUserRepositories(const QStringList &repositories); Q_INVOKABLE void setTemporaryRepositories(const QStringList &repositories, bool replace = false, bool compressed = false); @@ -244,6 +248,8 @@ public: Q_INVOKABLE QInstaller::Component *componentByName(const QString &identifier) const; Q_INVOKABLE QList<QInstaller::Component *> components(const QString ®exp = QString()) const; + ComponentAlias *aliasByName(const QString &name) const; + Q_INVOKABLE bool calculateComponentsToInstall() const; QList<Component*> orderedComponentsToInstall() const; @@ -253,6 +259,9 @@ public: Q_INVOKABLE bool calculateComponentsToUninstall() const; QList<Component*> componentsToUninstall() const; + QList<Component *> componentsMarkedForInstallation() const; + QList<ComponentAlias *> aliasesMarkedForInstallation() const; + QString componentsToInstallError() const; QString componentsToUninstallError() const; QString installReason(Component *component) const; @@ -264,9 +273,12 @@ public: ComponentModel *defaultComponentModel() const; ComponentModel *updaterComponentModel() const; + void listInstalledPackages(const QString ®exp = QString()); void listAvailablePackages(const QString ®exp = QString(), const QHash<QString, QString> &filters = QHash<QString, QString>()); + void listAvailableAliases(const QString ®exp = QString()); + PackageManagerCore::Status updateComponentsSilently(const QStringList &componentsToUpdate); PackageManagerCore::Status installSelectedComponentsSilently(const QStringList& components); PackageManagerCore::Status installDefaultComponentsSilently(); @@ -449,11 +461,10 @@ private: QString findDisplayVersion(const QString &componentName, const QHash<QString, QInstaller::Component*> &components, const QString& versionKey, QHash<QString, bool> &visited); ComponentModel *componentModel(PackageManagerCore *core, const QString &objectName) const; - QList<Component *> componentsMarkedForInstallation() const; bool fetchPackagesTree(const PackagesList &packages, const LocalPackagesMap installedPackages); bool componentUninstallableFromCommandLine(const QString &componentName); - bool checkComponentsForInstallation(const QStringList &components, QString &errorMessage); + bool checkComponentsForInstallation(const QStringList &names, QString &errorMessage); private: PackageManagerCorePrivate *const d; |