summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/lib7z_facade.cpp27
-rw-r--r--src/libs/installer/lib7z_facade.h4
-rw-r--r--tools/archivegen/archive.cpp2
-rw-r--r--tools/common/repositorygen.cpp13
-rw-r--r--tools/common/repositorygen.h2
5 files changed, 21 insertions, 27 deletions
diff --git a/src/libs/installer/lib7z_facade.cpp b/src/libs/installer/lib7z_facade.cpp
index 14bfd25a0..da25c6d28 100644
--- a/src/libs/installer/lib7z_facade.cpp
+++ b/src/libs/installer/lib7z_facade.cpp
@@ -1011,9 +1011,9 @@ public:
// TODO!
return S_OK;
}
- void setSource(const QStringList &dir)
+ void setSourcePaths(const QStringList &paths)
{
- sourceDir = dir;
+ sourcePaths = paths;
}
void setTarget(QIODevice* archive)
{
@@ -1024,7 +1024,7 @@ private:
UpdateCallback* const q;
QIODevice* target;
- QStringList sourceDir;
+ QStringList sourcePaths;
};
class Lib7z::UpdateCallbackPrivate
@@ -1059,9 +1059,9 @@ UpdateCallbackImpl* UpdateCallback::impl()
return d->impl();
}
-void UpdateCallback::setSource(const QStringList &dir)
+void UpdateCallback::setSourcePaths(const QStringList &paths)
{
- d->impl()->setSource(dir);
+ d->impl()->setSourcePaths(paths);
}
void UpdateCallback::setTarget(QIODevice* target)
@@ -1134,7 +1134,7 @@ void ExtractItemJob::setTarget(QIODevice* dev)
d->target = dev;
}
-void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectories, UpdateCallback* callback)
+void Lib7z::createArchive(QIODevice* archive, const QStringList &sourcePaths, UpdateCallback* callback)
{
assert(archive);
@@ -1142,8 +1142,7 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
if (!callback)
callback = dummyCallback.get();
- try
- {
+ try {
std::auto_ptr< CCodecs > codecs(new CCodecs);
throwIfNotOK(codecs->Load(), QObject::tr("Could not load codecs"));
@@ -1157,11 +1156,11 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
const QString tempFile = generateTempFileName();
NWildcard::CCensor censor;
- foreach(QString dir, sourceDirectories) {
- const UString sourceDirectoryPath = QString2UString(QDir::toNativeSeparators(dir));
- if (UString2QString(sourceDirectoryPath) != QDir::toNativeSeparators(dir))
- throw UString2QString(sourceDirectoryPath).toLatin1().data();
- censor.AddItem(true, sourceDirectoryPath, true);
+ foreach (QString dir, sourcePaths) {
+ const UString sourcePath = QString2UString(QDir::toNativeSeparators(dir));
+ if (UString2QString(sourcePath) != QDir::toNativeSeparators(dir))
+ throw UString2QString(sourcePath).toLatin1().data();
+ censor.AddItem(true, sourcePath, true);
}
CUpdateOptions options;
@@ -1177,7 +1176,7 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
CUpdateErrorInfo errorInfo;
callback->setTarget(archive);
- callback->setSource(sourceDirectories);
+ callback->setSourcePaths(sourcePaths);
const HRESULT res = UpdateArchive(codecs.get(), censor, options, errorInfo, 0, callback->impl());
if (res != S_OK || !QFile::exists(tempFile))
throw SevenZipException(QObject::tr("Could not create archive %1").arg(tempFile));
diff --git a/src/libs/installer/lib7z_facade.h b/src/libs/installer/lib7z_facade.h
index 58774df11..afdc85cfc 100644
--- a/src/libs/installer/lib7z_facade.h
+++ b/src/libs/installer/lib7z_facade.h
@@ -96,7 +96,7 @@ namespace Lib7z {
virtual ~UpdateCallback();
void setTarget( QIODevice* archive );
- void setSource( const QStringList& dir );
+ void setSourcePaths( const QStringList& paths );
virtual UpdateCallbackImpl* impl();
@@ -130,7 +130,7 @@ namespace Lib7z {
/*
* @thows Lib7z::SevenZipException
*/
- void INSTALLER_EXPORT createArchive( QIODevice* archive, const QStringList& sourceDirectory, UpdateCallback* callback = 0 );
+ void INSTALLER_EXPORT createArchive( QIODevice* archive, const QStringList& sourcePaths, UpdateCallback* callback = 0 );
/*
* @throws Lib7z::SevenZipException
diff --git a/tools/archivegen/archive.cpp b/tools/archivegen/archive.cpp
index 2d1257ae7..3b8db3e79 100644
--- a/tools/archivegen/archive.cpp
+++ b/tools/archivegen/archive.cpp
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
QInstaller::init();
QInstaller::setVerbose(true);
const QStringList sourceDirectories = app.arguments().mid(2);
- QInstallerTools::compressDirectory(sourceDirectories, app.arguments().at(1));
+ QInstallerTools::compressPaths(sourceDirectories, app.arguments().at(1));
return EXIT_SUCCESS;
} catch (const Lib7z::SevenZipException &e) {
std::cerr << e.message() << std::endl;
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);