From 518a6da50bfb86e938b2bbf850e3740fa824e832 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Tue, 8 Oct 2024 19:07:32 +0200 Subject: IMP: Working on TOML support for the build system. Signed-off-by: Amlal EL Mahrouss --- cli/AppMain.cxx | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) (limited to 'cli') diff --git a/cli/AppMain.cxx b/cli/AppMain.cxx index 975ada5..0546aab 100644 --- a/cli/AppMain.cxx +++ b/cli/AppMain.cxx @@ -7,10 +7,8 @@ #include #include -int cJobIndex = 0; -bool cFailed = false; - -static IManifestBuilder* cBuilder = nullptr; +static int cJobIndex = 0; +static bool cFailed = false; int main(int argc, char** argv) { @@ -40,22 +38,16 @@ int main(int argc, char** argv) return 0; } - std::thread job([](std::string index_path) -> void { + std::thread job_build_thread([](std::string index_path) -> void { + IManifestBuilder* builder = nullptr; + if (index_path.ends_with(".json")) { - delete cBuilder; - cBuilder = nullptr; - - if (!cBuilder) - cBuilder = new JSONManifestBuilder(); + builder = new JSONManifestBuilder(); } else if (index_path.ends_with(".toml")) { - delete cBuilder; - cBuilder = nullptr; - - if (!cBuilder) - cBuilder = new TOMLManifestBuilder(); + builder = new TOMLManifestBuilder(); } else { @@ -65,16 +57,18 @@ int main(int argc, char** argv) std::cout << "btb: Building: " << index_path << std::endl; - if (!cBuilder->Build(index_path.size(), index_path.c_str())) + if (builder && !builder->Build(index_path.size(), index_path.c_str())) { cFailed = true; } + delete builder; + --cJobIndex; }, - index_path); + index_path); - job.detach(); + job_build_thread.detach(); } // wait for completion of all jobs. @@ -82,12 +76,10 @@ int main(int argc, char** argv) { if (cFailed) { - std::cout << "btb: Build failed." << std::endl; + std::cout << "btb: build failed: " << errno << "." << std::endl; return EXIT_FAILURE; } } - delete cBuilder; - return cFailed ? EXIT_FAILURE : EXIT_SUCCESS; } -- cgit v1.2.3