1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef SUPPORTFILE_H
6#define SUPPORTFILE_H
7
8#include <QString>
9#include <QJsonObject>
10
11namespace support_file
12{
13
14struct BuildFileInfo
15{
16 QString buildSystem;
17 QString projectPath;
18 bool operator==(const BuildFileInfo &info) const;
19 bool isEmpty();
20};
21
22struct Builder
23{
24 static QString globalPath();
25 static QString userPath();
26 static void initialize();
27 static QString buildSystem(const QString &filePath);
28 static BuildFileInfo buildInfo(const QString &filePath);
29 // 多线程线程执行
30 static QList<BuildFileInfo> buildInfos(const QString &dirPath);
31 static bool load();
32};
33
34uint qHash(const support_file::BuildFileInfo &info, uint seed = 0);
35}
36
37
38#endif // SUPPORTFILE_H
39