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 | |
11 | namespace support_file |
12 | { |
13 | |
14 | struct BuildFileInfo |
15 | { |
16 | QString buildSystem; |
17 | QString projectPath; |
18 | bool operator==(const BuildFileInfo &info) const; |
19 | bool isEmpty(); |
20 | }; |
21 | |
22 | struct 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 | |
34 | uint qHash(const support_file::BuildFileInfo &info, uint seed = 0); |
35 | } |
36 | |
37 | |
38 | #endif // SUPPORTFILE_H |
39 | |