diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-02 06:29:25 -0500 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-02 06:29:25 -0500 |
| commit | e523488c70e33ec3bb83e785ec6dd20261b26974 (patch) | |
| tree | 6077325aba8f47817b0455254fdda2ffe57e5104 /include | |
| parent | f9d7e440829fb5899198517396bbc7e580ecb801 (diff) | |
chore: new NeBuild API and breaking SDK changes.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/NeBuildKit/Config.h | 21 | ||||
| -rw-r--r-- | include/NeBuildKit/IManifestBuilder.h | 5 | ||||
| -rw-r--r-- | include/NeBuildKit/JSONManifestBuilder.h | 6 | ||||
| -rw-r--r-- | include/NeBuildKit/TOMLManifestBuilder.h | 6 |
4 files changed, 20 insertions, 18 deletions
diff --git a/include/NeBuildKit/Config.h b/include/NeBuildKit/Config.h index 00be9de..915bde4 100644 --- a/include/NeBuildKit/Config.h +++ b/include/NeBuildKit/Config.h @@ -11,13 +11,7 @@ #include <rang/rang.h> #include <cassert> -#include <cstddef> -#include <cstdio> -#include <fstream> #include <iostream> -#include <sstream> -#include <string> -#include <thread> #define LIKELY(ARG) ((ARG) ? assert(false) : ((void) 0)) #define UNLIKELY(ARG) LIKELY(!(ARG)) @@ -34,7 +28,20 @@ #define LIBNEBUILD_UNUSED(X) ((void) X) -namespace NeBuild {} +namespace NeBuild { + struct BuildConfig final { + bool has_failed_{false}; + bool dry_run_{false}; + std::string path_{}; + + explicit operator bool() { + return has_failed_; + } + + BuildConfig() = default; + ~BuildConfig() {} + }; +} namespace NeBuild::Logger { /// @brief replacement for std::cout for NeBuild logging. diff --git a/include/NeBuildKit/IManifestBuilder.h b/include/NeBuildKit/IManifestBuilder.h index 7d3101c..c6a37c9 100644 --- a/include/NeBuildKit/IManifestBuilder.h +++ b/include/NeBuildKit/IManifestBuilder.h @@ -24,12 +24,11 @@ class IManifestBuilder { /// =========================================================== /// /// @brief Builds a TOML target from a file. - /// @param arg_sz filename size (must be 1 or greater). - /// @param arg_val filename path (must be a valid language file). + /// @param config configuration of build. /// @retval true building has succeeded. /// @retval false fail to build, see error message. /// =========================================================== /// - virtual bool BuildTarget(const std::string& arg, const bool dry_run = false) = 0; + virtual bool BuildTarget(BuildConfig& config) = 0; /// =========================================================== /// /// @brief Returns the build system name. diff --git a/include/NeBuildKit/JSONManifestBuilder.h b/include/NeBuildKit/JSONManifestBuilder.h index ccd5f6e..21f5f87 100644 --- a/include/NeBuildKit/JSONManifestBuilder.h +++ b/include/NeBuildKit/JSONManifestBuilder.h @@ -6,7 +6,6 @@ #pragma once #include <NeBuildKit/IManifestBuilder.h> -#include <json/json.h> /// @file JSONManifestBuilder.h /// @brief JSON manifest builder header file. @@ -24,12 +23,11 @@ class JSONManifestBuilder final NEBUILD_MANIFEST_BUILDER { 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). + /// @param config configuration of build. /// @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; + bool BuildTarget(BuildConfig& config) override; /// =========================================================== /// /// @brief Returns the build system name. diff --git a/include/NeBuildKit/TOMLManifestBuilder.h b/include/NeBuildKit/TOMLManifestBuilder.h index c6a12bc..7caf9d6 100644 --- a/include/NeBuildKit/TOMLManifestBuilder.h +++ b/include/NeBuildKit/TOMLManifestBuilder.h @@ -6,7 +6,6 @@ #pragma once #include <NeBuildKit/IManifestBuilder.h> -#include <toml++/toml.hpp> /// @file TOMLManifestBuilder.h /// @brief TOML manifest builder header file. @@ -24,12 +23,11 @@ class TOMLManifestBuilder final NEBUILD_MANIFEST_BUILDER { public: /// =========================================================== /// /// @brief Builds a TOML target from a TOML file. - /// @param arg_sz filename size (must be 1 or greater). - /// @param arg_val filename path (must be a valid TOML file). + /// @param config configuration of build. /// @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; + bool BuildTarget(BuildConfig& config) override; /// =========================================================== /// /// @brief Returns the build system name. |
