summaryrefslogtreecommitdiffhomepage
path: root/cli/CliApp.cc
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-25 18:44:01 +0200
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-25 18:44:01 +0200
commitd7dcb2695ca2c69b45314cfc261c395e935d355b (patch)
tree32ed6a8aa938944a76eb407ecbc223a2d3a76e32 /cli/CliApp.cc
parentb2c3e134b968e75faf6db29536755f0304c63b64 (diff)
IMP: Add a new contract method for those who implements IManifestBuilder.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'cli/CliApp.cc')
-rw-r--r--cli/CliApp.cc91
1 files changed, 0 insertions, 91 deletions
diff --git a/cli/CliApp.cc b/cli/CliApp.cc
deleted file mode 100644
index f8fd999..0000000
--- a/cli/CliApp.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-// ============================================================= //
-// btb
-// Copyright ZKA Web Services.
-// ============================================================= //
-
-#include <Macros.h>
-#include <JSONManifestBuilder.h>
-#include <cstdio>
-#include <cstddef>
-#include <string>
-#include <iostream>
-#include <thread>
-
-static int cJobIndex = 0;
-static bool cFailed = false;
-
-int main(int argc, char** argv)
-{
- cJobIndex = argc - 1;
-
- for (size_t index = 1; index < argc; ++index)
- {
- std::string index_path = argv[index];
-
- if (index_path == "/Ver" ||
- index_path == "/Version")
- {
- std::cout << "Usage: btb <file>\n";
- std::cout << "Check for issues at: www.el-mahrouss-logic.com/btb/issues\n";
-
- std::cout << "Brought to you by Amlal El Mahrouss.\n";
- std::cout << "© ZKA Web Services, all rights reserved.\n";
-
- return 0;
- }
- else if (index_path == "/?" ||
- index_path == "/Help")
- {
- std::cout << "btb: Build a JSON file: btb <json_path>.json\n";
- std::cout << "btb: Build a TOML file: btb <toml_path>.toml\n";
-
- return 0;
- }
-
- std::thread job_build_thread([](std::string index_path) -> void {
- IManifestBuilder* builder = nullptr;
-
- const auto cJsonExt = ".json";
-
- if (index_path.ends_with(cJsonExt))
- {
- builder = new JSONManifestBuilder();
- }
- else
- {
- cFailed = true;
- return;
- }
-
- std::cout << "btb: building: " << index_path << std::endl;
-
- if (builder && !builder->Build(index_path.size(), index_path.c_str()))
- {
- cFailed = true;
- }
- else if (!builder)
- {
- cFailed = true;
- }
-
- delete builder;
-
- --cJobIndex;
- },
- index_path);
-
- job_build_thread.detach();
- }
-
- // wait for completion of all jobs.
- while (cJobIndex)
- {
- if (cFailed)
- {
- std::cout << "btb: build failed: " << errno << "." << std::endl;
- return EXIT_FAILURE;
- }
- }
-
- return cFailed ? EXIT_FAILURE : EXIT_SUCCESS;
-}