1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef MAVENGENERATOR_H
6#define MAVENGENERATOR_H
7
8#include "services/language/languagegenerator.h"
9#include "dap/protocol.h"
10
11class MavenGeneratorPrivate;
12class MavenGenerator : public dpfservice::LanguageGenerator
13{
14 Q_OBJECT
15public:
16 explicit MavenGenerator();
17 virtual ~MavenGenerator() override;
18
19 static QString toolKitName() { return "maven"; }
20 QString debugger() override;
21
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 QString getProjectFile(const QString& projectPath) override;
31 bool isRestartDAPManually() override;
32 bool isStopDAPManually() override;
33 QMap<QString, QVariant> getDebugArguments(const dpfservice::ProjectInfo &projectInfo,
34 const QString &currentFile) override;
35 dpfservice::RunCommandInfo getRunArguments(const dpfservice::ProjectInfo &projectInfo,
36 const QString &currentFile) override;
37signals:
38
39private slots:
40
41private:
42 MavenGeneratorPrivate *const d;
43};
44
45#endif // MAVENGENERATOR_H
46