WorkspaceProject: exclude user file and define scheme url by default

Change-Id: I359682a0010a42f00591c103c93b7f41c7f987fd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
David Schulz
2024-06-12 10:34:43 +02:00
parent 6c6b01faa8
commit e84a9bc3d5
2 changed files with 8 additions and 1 deletions

View File

@@ -1,4 +1,6 @@
{ {
"$schema": "https://download.qt.io/official_releases/qtcreator/latest/installer_source/jsonschemas/project.json",
"files.exclude": [".qtcreator/project.json.user"],
"targets": [ "targets": [
{ {
"name": "Qt Creator", "name": "Qt Creator",

View File

@@ -253,7 +253,12 @@ public:
: Project(FOLDER_MIMETYPE, file.isDir() ? file / ".qtcreator" / "project.json" : file) : Project(FOLDER_MIMETYPE, file.isDir() ? file / ".qtcreator" / "project.json" : file)
{ {
QTC_CHECK(projectFilePath().absolutePath().ensureWritableDir()); QTC_CHECK(projectFilePath().absolutePath().ensureWritableDir());
QTC_CHECK(projectFilePath().ensureExistingFile()); if (!projectFilePath().exists() && QTC_GUARD(projectFilePath().ensureExistingFile())) {
QJsonObject projectJson;
projectJson.insert("$schema", "https://download.qt.io/official_releases/qtcreator/latest/installer_source/jsonschemas/project.json");
projectJson.insert(FILES_EXCLUDE_KEY, QJsonArray{QJsonValue(".qtcreator/project.json.user")});
projectFilePath().writeFileContents(QJsonDocument(projectJson).toJson());
}
setId(Id::fromString(WORKSPACE_PROJECT_ID)); setId(Id::fromString(WORKSPACE_PROJECT_ID));
setDisplayName(projectDirectory().fileName()); setDisplayName(projectDirectory().fileName());