summaryrefslogtreecommitdiffhomepage
path: root/include/NeBuildKit
diff options
context:
space:
mode:
Diffstat (limited to 'include/NeBuildKit')
-rw-r--r--include/NeBuildKit/Config.h21
-rw-r--r--include/NeBuildKit/IManifestBuilder.h5
-rw-r--r--include/NeBuildKit/JSONManifestBuilder.h6
-rw-r--r--include/NeBuildKit/TOMLManifestBuilder.h6
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.