forked from qt-creator/qt-creator
Add ICore::cacheResourcePath()
We need some directory where we save the index database and the precompiled headers. This files should be persistent but the user can delete them if he wants because we will rebuild them. Task-number: QTCREATORBUG-22012 Change-Id: I9f25eb48a9992d6385a96427ef9c10bc739a3567 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -62,7 +62,9 @@ QString backendProcessPath()
|
||||
class ClangPchManagerPluginData
|
||||
{
|
||||
public:
|
||||
Sqlite::Database database{Utils::PathString{Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"}, 1000ms};
|
||||
Sqlite::Database database{Utils::PathString{Core::ICore::cacheResourcePath()
|
||||
+ "/symbol-experimental-v1.db"},
|
||||
1000ms};
|
||||
ClangBackEnd::RefactoringDatabaseInitializer<Sqlite::Database> databaseInitializer{database};
|
||||
ClangBackEnd::FilePathCaching filePathCache{database};
|
||||
ClangPchManager::ProgressManager pchCreationProgressManager{[](QFutureInterface<void> &promise) {
|
||||
|
@@ -51,11 +51,11 @@ ClangPchManager::PchManagerConnectionClient::PchManagerConnectionClient(
|
||||
{
|
||||
m_processCreator.setTemporaryDirectoryPattern("clangpchmanagerbackend-XXXXXX");
|
||||
|
||||
QDir pchsDirectory(Core::ICore::userResourcePath());
|
||||
QDir pchsDirectory(Core::ICore::cacheResourcePath());
|
||||
pchsDirectory.mkdir("pchs");
|
||||
pchsDirectory.cd("pchs");
|
||||
m_processCreator.setArguments({connectionName(),
|
||||
Core::ICore::userResourcePath() + "/symbol-experimental-v1.db",
|
||||
Core::ICore::cacheResourcePath() + "/symbol-experimental-v1.db",
|
||||
pchsDirectory.absolutePath()});
|
||||
|
||||
stdErrPrefixer().setPrefix("PchManagerConnectionClient.stderr: ");
|
||||
|
@@ -77,7 +77,9 @@ class ClangRefactoringPluginData
|
||||
public:
|
||||
using QuerySqliteReadStatementFactory = QuerySqliteStatementFactory<Sqlite::Database,
|
||||
Sqlite::ReadStatement>;
|
||||
Sqlite::Database database{Utils::PathString{Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"}, 1000ms};
|
||||
Sqlite::Database database{Utils::PathString{Core::ICore::cacheResourcePath()
|
||||
+ "/symbol-experimental-v1.db"},
|
||||
1000ms};
|
||||
ClangBackEnd::RefactoringDatabaseInitializer<Sqlite::Database> databaseInitializer{database};
|
||||
ClangBackEnd::FilePathCaching filePathCache{database};
|
||||
ClangPchManager::ProgressManager progressManager{
|
||||
|
@@ -48,8 +48,8 @@ RefactoringConnectionClient::RefactoringConnectionClient(RefactoringClientInterf
|
||||
, m_serverProxy(client)
|
||||
{
|
||||
m_processCreator.setTemporaryDirectoryPattern("clangrefactoringbackend-XXXXXX");
|
||||
m_processCreator.setArguments({connectionName(),
|
||||
Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"});
|
||||
m_processCreator.setArguments(
|
||||
{connectionName(), Core::ICore::cacheResourcePath() + "/symbol-experimental-v1.db"});
|
||||
|
||||
stdErrPrefixer().setPrefix("RefactoringConnectionClient.stderr: ");
|
||||
stdOutPrefixer().setPrefix("RefactoringConnectionClient.stdout: ");
|
||||
|
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <QSysInfo>
|
||||
#include <QApplication>
|
||||
#include <QStandardPaths>
|
||||
|
||||
/*!
|
||||
\namespace Core
|
||||
@@ -439,6 +440,11 @@ QString ICore::userResourcePath()
|
||||
return urp;
|
||||
}
|
||||
|
||||
QString ICore::cacheResourcePath()
|
||||
{
|
||||
return QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
|
||||
}
|
||||
|
||||
QString ICore::installerResourcePath()
|
||||
{
|
||||
return QFileInfo(settings(QSettings::SystemScope)->fileName()).path() + '/'
|
||||
|
@@ -94,6 +94,7 @@ public:
|
||||
|
||||
static QString resourcePath();
|
||||
static QString userResourcePath();
|
||||
static QString cacheResourcePath();
|
||||
static QString installerResourcePath();
|
||||
static QString libexecPath();
|
||||
static QString clangExecutable(const QString &clangBinDirectory);
|
||||
|
@@ -6,5 +6,11 @@ inline static QString userResourcePath()
|
||||
{
|
||||
return QDir::tempPath();
|
||||
}
|
||||
|
||||
inline static QString cacheResourcePath()
|
||||
{
|
||||
return QDir::tempPath();
|
||||
}
|
||||
|
||||
} // namespace ICore
|
||||
} // namespace Core
|
||||
|
Reference in New Issue
Block a user