diff options
author | Katja Marttila <katja.marttila@qt.io> | 2019-05-29 14:04:57 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2019-11-19 09:38:04 +0000 |
commit | 48a43de0be59639b16962ec04f1a4e07141abaf0 (patch) | |
tree | e79773f2c5acfc974a65646ffe60ca0b7355c9a0 /src/sdk | |
parent | 3bd4e7d632967b1bf77120918700c11f83318166 (diff) |
List available packages from command line
Available packages can be listed from command line with
--listPackages <regexp>. All packages can be listed with --listPackages
. . By default package id, name and version are listed in output. In
case you want to see all the packet information use logging category
--logging-rules ifw.package.*=true. See --help for more detailed
information on how to use logging category.
Change-Id: Ic0815d2274643e3fb3f0670ed9036fe765805c0e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'src/sdk')
-rw-r--r-- | src/sdk/commandlineparser.cpp | 2 | ||||
-rw-r--r-- | src/sdk/constants.h | 1 | ||||
-rw-r--r-- | src/sdk/installerbase.cpp | 14 | ||||
-rw-r--r-- | src/sdk/main.cpp | 3 |
4 files changed, 18 insertions, 2 deletions
diff --git a/src/sdk/commandlineparser.cpp b/src/sdk/commandlineparser.cpp index 131f69a48..c931d0ff9 100644 --- a/src/sdk/commandlineparser.cpp +++ b/src/sdk/commandlineparser.cpp @@ -120,6 +120,8 @@ CommandLineParser::CommandLineParser() QLatin1String("Updates all packages silently."))); m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::ListInstalledPackages), QLatin1String("Lists installed packages."))); + m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::ListPackages), + QLatin1String("Lists available packages."), QLatin1String("regexp"))); m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::Platform), QLatin1String("Use the specified platform plugin."), QLatin1String("plugin"))); m_parser.addPositionalArgument(QLatin1String(CommandLineOptions::KeyValue), diff --git a/src/sdk/constants.h b/src/sdk/constants.h index ea76df620..0a8852f13 100644 --- a/src/sdk/constants.h +++ b/src/sdk/constants.h @@ -55,6 +55,7 @@ const char StartClient[] = "startclient"; const char InstallCompressedRepository[] = "installCompressedRepository"; const char SilentUpdate[] = "silentUpdate"; const char ListInstalledPackages[] = "listInstalledPackages"; +const char ListPackages[] = "listPackages"; const char Platform[] = "platform"; const char SquishPort[] = "squish-port"; diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp index 918a846fc..1cf5765e1 100644 --- a/src/sdk/installerbase.cpp +++ b/src/sdk/installerbase.cpp @@ -122,11 +122,17 @@ int InstallerBase::run() QString loggingRules(QLatin1String("ifw.* = false")); // disable all by default if (QInstaller::isVerbose()) { - loggingRules = QString(); // enable all in verbose mode if (parser.isSet(QLatin1String(CommandLineOptions::LoggingRules))) { loggingRules = parser.value(QLatin1String(CommandLineOptions::LoggingRules)) .split(QLatin1Char(','), QString::SkipEmptyParts) .join(QLatin1Char('\n')); // take rules from command line + } else { + // enable all in verbose mode except detailed package information + loggingRules = QLatin1String("ifw.* = true\n" + "ifw.package.* = false\n" + "ifw.package.name = true\n" + "ifw.package.version = true\n" + "ifw.package.displayname = true\n"); } } QLoggingCategory::setFilterRules(loggingRules); @@ -305,6 +311,12 @@ int InstallerBase::run() checkLicense(); m_core->setPackageManager(); m_core->listInstalledPackages(); + } else if (parser.isSet(QLatin1String(CommandLineOptions::ListPackages))){ + if (!m_core->isInstaller()) + m_core->setPackageManager(); + checkLicense(); + QString regexp = parser.value(QLatin1String(CommandLineOptions::ListPackages)); + m_core->listAvailablePackages(regexp); } else { //create the wizard GUI TabController controller(nullptr); diff --git a/src/sdk/main.cpp b/src/sdk/main.cpp index 336ff51b0..6ee612ce5 100644 --- a/src/sdk/main.cpp +++ b/src/sdk/main.cpp @@ -186,7 +186,8 @@ int main(int argc, char *argv[]) try { QScopedPointer<Console> console; if (parser.isSet(QLatin1String(CommandLineOptions::VerboseShort)) - || parser.isSet(QLatin1String(CommandLineOptions::VerboseLong))) { + || parser.isSet(QLatin1String(CommandLineOptions::VerboseLong)) + || parser.isSet(QLatin1String(CommandLineOptions::ListPackages))) { console.reset(new Console); QInstaller::setVerbose(true); } |