summaryrefslogtreecommitdiffstats
path: root/tools/common/repositorygen.cpp
diff options
context:
space:
mode:
authorNiels Weber <niels.weber@digia.com>2013-06-20 10:58:53 +0200
committerNiels Weber <niels.weber@digia.com>2013-06-20 12:31:40 +0200
commitdc3f0a459d15aa04f9713dc9c594fbb79215818d (patch)
treebefc2ef41f53fdda7d3a38b23875e3b96e25a844 /tools/common/repositorygen.cpp
parent8c72dee843ffa91e6e5c63f52a05b11273ed65a7 (diff)
Lists packages not found that were given explicitly.
When the user calls repogen or binarycreator using the include or exclude parameter, those packages that were given but could not be found in the packages directory are now listed in a warning. Task-number: QTIFW-233 Change-Id: Iaadd0a14d2c6d834daa6dbe956118d674e048fac Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Diffstat (limited to 'tools/common/repositorygen.cpp')
-rw-r--r--tools/common/repositorygen.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/common/repositorygen.cpp b/tools/common/repositorygen.cpp
index 60a38377c..bae26d0f3 100644
--- a/tools/common/repositorygen.cpp
+++ b/tools/common/repositorygen.cpp
@@ -359,7 +359,7 @@ void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &met
}
PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesDirectory,
- const QStringList &filteredPackages, FilterType filterType)
+ QStringList *packagesToFilter, FilterType filterType)
{
qDebug() << "\nCollecting information about available packages...";
@@ -369,11 +369,16 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesD
const QFileInfoList entries = QDir(packagesDirectory).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
for (QFileInfoList::const_iterator it = entries.begin(); it != entries.end(); ++it) {
if (filterType == Exclude) {
- if (filteredPackages.contains(it->fileName()))
+ // Check for current file in exclude list, if found, skip it and remove it from exclude list
+ if (packagesToFilter->contains(it->fileName())) {
+ packagesToFilter->removeAll(it->fileName());
continue;
+ }
} else {
- if (!filteredPackages.contains(it->fileName()))
+ // Check for current file in include list, if not found, skip it; if found, remove it from include list
+ if (!packagesToFilter->contains(it->fileName()))
continue;
+ packagesToFilter->removeAll(it->fileName());
}
qDebug() << QString::fromLatin1("found subdirectory '%1'").arg(it->fileName());
// because the filter is QDir::Dirs - filename means the name of the subdirectory
@@ -440,6 +445,10 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesD
qDebug() << QString::fromLatin1("- it provides the package %1 - %2").arg(info.name, info.version);
}
+ if (!packagesToFilter->isEmpty()) {
+ qWarning() << "The following explicitly given packages could not be found\n in package directory:" << *packagesToFilter;
+ }
+
if (dict.isEmpty())
qDebug() << "No available packages found at the specified location.";