diff options
author | Tim Jenssen <tim.jenssen@nokia.com> | 2012-05-14 15:32:58 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2012-05-14 16:39:00 +0200 |
commit | 2957e28288a472d2e9507762e85939c0a0de4b4d (patch) | |
tree | 7079ac95b81fd06b9b4e1d3c13d56d6150868911 /tools/common | |
parent | 3b554a4913517907f3ebf46466e1e46822cde664 (diff) |
remove the limitation that archivegen could handle directories only
Change-Id: I5e7b6740d6df1b858cee091a1174e8fd64e477a7
Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Diffstat (limited to 'tools/common')
-rw-r--r-- | tools/common/repositorygen.cpp | 13 | ||||
-rw-r--r-- | tools/common/repositorygen.h | 2 |
2 files changed, 5 insertions, 10 deletions
diff --git a/tools/common/repositorygen.cpp b/tools/common/repositorygen.cpp index 8534c1c20..d72ea2548 100644 --- a/tools/common/repositorygen.cpp +++ b/tools/common/repositorygen.cpp @@ -65,13 +65,8 @@ void QInstallerTools::printRepositoryGenOptions() std::cout << " --ignore-invalid-packages Ignore all invalid packages instead of aborting." << std::endl; } -void QInstallerTools::compressDirectory(const QStringList &paths, const QString &archivePath) +void QInstallerTools::compressPaths(const QStringList &paths, const QString &archivePath) { - foreach (const QString &path, paths) { - if (!QFileInfo(path).exists()) - throw QInstaller::Error(QObject::tr("Folder %1 does not exist.").arg(path)); - } - QFile archive(archivePath); QInstaller::openForWrite(&archive, archivePath); Lib7z::createArchive(&archive, paths); @@ -87,7 +82,7 @@ void QInstallerTools::compressMetaDirectories(const QString &repoDir) const QString absPath = sd.absolutePath(); const QString fn = QLatin1String("meta.7z"); const QString tmpTarget = repoDir + QLatin1String("/") +fn; - compressDirectory(QStringList() << absPath, tmpTarget); + compressPaths(QStringList() << absPath, tmpTarget); QFile tmp(tmpTarget); const QString finalTarget = absPath + QLatin1String("/") + fn; if (!tmp.rename(finalTarget)) { @@ -545,7 +540,7 @@ void QInstallerTools::compressMetaDirectories(const QString &repoDir, const QStr const QString absPath = sd.absolutePath(); const QString fn = QLatin1String(versionPrefix.toLatin1() + "meta.7z"); const QString tmpTarget = repoDir + QLatin1String("/") +fn; - compressDirectory(QStringList() << absPath, tmpTarget); + compressPaths(QStringList() << absPath, tmpTarget); // remove the files that got compressed QInstaller::removeFiles(absPath, true); @@ -595,7 +590,7 @@ void QInstallerTools::copyComponentData(const QString &packageDir, const QString } else if (fileInfo.isDir()) { qDebug() << "Compressing data directory" << entry; target = QString::fromLatin1("%1/%2/%4%3.7z").arg(repoDir, name, entry, info.version); - QInstallerTools::compressDirectory(QStringList() << dataDir.absoluteFilePath(entry), target); + QInstallerTools::compressPaths(QStringList() << dataDir.absoluteFilePath(entry), target); } else { continue; } diff --git a/tools/common/repositorygen.h b/tools/common/repositorygen.h index 7cb7a07a0..0e73d8a00 100644 --- a/tools/common/repositorygen.h +++ b/tools/common/repositorygen.h @@ -59,7 +59,7 @@ enum FilterType { QHash<QString, QString> buildPathToVersionMapping(const PackageInfoVector &info); void compressMetaDirectories(const QString &repoDir); -void compressDirectory(const QStringList &paths, const QString &archivePath); +void compressPaths(const QStringList &paths, const QString &archivePath); void compressMetaDirectories(const QString &repoDir, const QString &baseDir, const QHash<QString, QString> &versionMapping); |