summaryrefslogtreecommitdiffhomepage
path: root/src/lib/JSONManifestBuilder.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 14:45:09 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-12 14:45:09 +0100
commitfb094b222027aad36ebc294c0b21909dfe20b3f9 (patch)
tree13735af600898d719deb00c47f678cf57cc99f73 /src/lib/JSONManifestBuilder.cc
parent358bcc6a52793dc7043415b242169af9ec78f6b4 (diff)
chore: performance improvements and tweaks.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/lib/JSONManifestBuilder.cc')
-rw-r--r--src/lib/JSONManifestBuilder.cc19
1 files changed, 17 insertions, 2 deletions
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<bool>();
+
+ 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;