forked from qt-creator/qt-creator
Utils: Introduce a TemporaryDirectory and TemporaryFile class
Both wrap the corresponding Qt class, but make sure all temporary files or directories are created inside a "master temporary directory". Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
e6017c40fc
commit
c6f90e575e
@@ -55,6 +55,7 @@
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/qtcprocess.h>
|
||||
#include <utils/synchronousprocess.h>
|
||||
#include <utils/temporarydirectory.h>
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QFile>
|
||||
@@ -62,7 +63,6 @@
|
||||
#include <QMessageBox>
|
||||
#include <QRegularExpression>
|
||||
#include <QSet>
|
||||
#include <QTemporaryDir>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
@@ -91,10 +91,9 @@ const Utils::FileName BuildDirManager::workDirectory() const
|
||||
if (bdir.exists())
|
||||
return bdir;
|
||||
if (!m_tempDir) {
|
||||
const QString path = QDir::tempPath() + QLatin1String("/qtc-cmake-XXXXXX");
|
||||
m_tempDir.reset(new QTemporaryDir(path));
|
||||
m_tempDir.reset(new Utils::TemporaryDirectory("qtc-cmake-XXXXXXXX"));
|
||||
if (!m_tempDir->isValid())
|
||||
emit errorOccured(tr("Failed to create temporary directory using template \"%1\".").arg(path));
|
||||
emit errorOccured(tr("Failed to create temporary directory \"%1\".").arg(m_tempDir->path()));
|
||||
}
|
||||
return Utils::FileName::fromString(m_tempDir->path());
|
||||
}
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
#include "cmakeconfigitem.h"
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/temporarydirectory.h>
|
||||
|
||||
#include <QObject>
|
||||
#include <QTemporaryDir>
|
||||
#include <QTimer>
|
||||
|
||||
#include <functional>
|
||||
@@ -104,7 +104,7 @@ private:
|
||||
void becameDirty();
|
||||
|
||||
CMakeBuildConfiguration *m_buildConfiguration = nullptr;
|
||||
mutable std::unique_ptr<QTemporaryDir> m_tempDir = nullptr;
|
||||
mutable std::unique_ptr<Utils::TemporaryDirectory> m_tempDir = nullptr;
|
||||
mutable CMakeConfig m_cmakeCache;
|
||||
|
||||
QTimer m_reparseTimer;
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QCryptographicHash>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QLocalSocket>
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <utils/qtcprocess.h>
|
||||
|
||||
#include <QLoggingCategory>
|
||||
#include <QTemporaryDir>
|
||||
#include <QTimer>
|
||||
#include <QVariantMap>
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <utils/qtcprocess.h>
|
||||
|
||||
#include <QSet>
|
||||
#include <QTemporaryDir>
|
||||
#include <QTimer>
|
||||
|
||||
#include <memory>
|
||||
|
||||
Reference in New Issue
Block a user