1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef GRADLEGENERATOR_H
6#define GRADLEGENERATOR_H
7
8#include "services/language/languagegenerator.h"
9#include "dap/protocol.h"
10
11class GradleGeneratorPrivate;
12class GradleGenerator : public dpfservice::LanguageGenerator
13{
14 Q_OBJECT
15public:
16 explicit GradleGenerator();
17 virtual ~GradleGenerator() override;
18
19 static QString toolKitName() { return "gradle"; }
20
21 QString debugger() override;
22 bool isNeedBuild() override;
23 bool isTargetReady() override;
24 bool isAnsyPrepareDebug() override;
25 bool prepareDebug(const QMap<QString, QVariant> &param, QString &retMsg) override;
26 bool requestDAPPort(const QString &uuid, const QMap<QString, QVariant> &param, QString &retMsg) override;
27 bool isLaunchNotAttach() override;
28 dap::LaunchRequest launchDAP(const QMap<QString, QVariant> &param) override;
29 QString build(const QString& projectPath) override;
30 bool isRestartDAPManually() override;
31 bool isStopDAPManually() override;
32 QMap<QString, QVariant> getDebugArguments(const dpfservice::ProjectInfo &projectInfo,
33 const QString &currentFile) override;
34 dpfservice::RunCommandInfo getRunArguments(const dpfservice::ProjectInfo &projectInfo,
35 const QString &currentFile) override;
36
37signals:
38
39private slots:
40
41private:
42 GradleGeneratorPrivate *const d;
43};
44
45#endif // GRADLEGENERATOR_H
46