diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 02:33:21 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 02:34:02 +0100 |
| commit | 64b8a6bf04095d80b1ca52415ea954b933f47098 (patch) | |
| tree | 0fdeb080c08113558b6550cf06b81ba67d9c9348 /include/NeBuildKit/JSONManifestBuilder.h | |
| parent | fab2f2a4b616b9bd763b154605685733c74d7321 (diff) | |
feat! breaking changes, merging to stable.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'include/NeBuildKit/JSONManifestBuilder.h')
| -rw-r--r-- | include/NeBuildKit/JSONManifestBuilder.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/NeBuildKit/JSONManifestBuilder.h b/include/NeBuildKit/JSONManifestBuilder.h new file mode 100644 index 0000000..ccd5f6e --- /dev/null +++ b/include/NeBuildKit/JSONManifestBuilder.h @@ -0,0 +1,39 @@ +// ============================================================= // +// nebuild +// Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under BSD-3 license. +// ============================================================= // + +#pragma once + +#include <NeBuildKit/IManifestBuilder.h> +#include <json/json.h> + +/// @file JSONManifestBuilder.h +/// @brief JSON manifest builder header file. + +namespace NeBuild { +/// @brief JSON builder +class JSONManifestBuilder final NEBUILD_MANIFEST_BUILDER { + public: + JSONManifestBuilder() = default; + ~JSONManifestBuilder() override = default; + + JSONManifestBuilder& operator=(const JSONManifestBuilder&) = default; + JSONManifestBuilder(const JSONManifestBuilder&) = default; + + public: + /// =========================================================== /// + /// @brief Builds a JSON target from a JSON file. + /// @param arg_sz filename size (must be 1 or greater). + /// @param arg_val filename path (must be a valid JSON file). + /// @retval true building has succeeded. + /// @retval false fail to build, see error message. + /// =========================================================== /// + bool BuildTarget(const std::string& arg_val, const bool dry_run = false) override; + + /// =========================================================== /// + /// @brief Returns the build system name. + /// =========================================================== /// + const char* BuildSystem() override; +}; +} // namespace NeBuild
\ No newline at end of file |
