From fb094b222027aad36ebc294c0b21909dfe20b3f9 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 12 Dec 2025 14:45:09 +0100 Subject: chore: performance improvements and tweaks. Signed-off-by: Amlal El Mahrouss --- src/lib/JSONManifestBuilder.cc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/lib/JSONManifestBuilder.cc') diff --git a/src/lib/JSONManifestBuilder.cc b/src/lib/JSONManifestBuilder.cc index 5bd89c6..45c7ce7 100644 --- a/src/lib/JSONManifestBuilder.cc +++ b/src/lib/JSONManifestBuilder.cc @@ -37,8 +37,8 @@ bool JSONManifestBuilder::BuildTarget(BuildConfig& config) { std::ifstream json(path); if (!json.good()) { - NeBuild::Logger::info() << "nebuild: error: file '" << path << "' is not a valid nlohmann::json" - << std::endl; + NeBuild::Logger::info() << "nebuild: error: file '" << path + << "' is not a valid nlohmann::json" << std::endl; return false; } @@ -95,6 +95,21 @@ bool JSONManifestBuilder::BuildTarget(BuildConfig& config) { config.has_failed_ = true; return false; } + + if (!config.dry_run_) { + auto run_after_build = json_obj["run_after_build"].get(); + + if (run_after_build) { + ret_exec = std::system(target.c_str()); + + if (ret_exec > 0) { + NeBuild::Logger::info() << "error: exit with message: " << std::strerror(ret_exec) << "" + << std::endl; + config.has_failed_ = true; + return false; + } + } + } } catch (std::runtime_error& err) { NeBuild::Logger::info() << "error: exit with message: " << err.what() << "" << std::endl; config.has_failed_ = true; -- cgit v1.2.3