diff options
author | Niels Weber <niels.weber@digia.com> | 2013-06-20 10:58:53 +0200 |
---|---|---|
committer | Niels Weber <niels.weber@digia.com> | 2013-06-20 12:31:40 +0200 |
commit | dc3f0a459d15aa04f9713dc9c594fbb79215818d (patch) | |
tree | befc2ef41f53fdda7d3a38b23875e3b96e25a844 /tools/common/repositorygen.cpp | |
parent | 8c72dee843ffa91e6e5c63f52a05b11273ed65a7 (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.cpp | 15 |
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."; |