diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-04-30 12:27:49 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-04-30 12:27:49 +0200 |
commit | 0eed5982bbca328cc6319d36708d64a285160972 (patch) | |
tree | 08adc035640e3869aac6c71ccd8b6cebd73ad442 /bdep/utility.cxx | |
parent | b2d5f82512d0118a0668ce02f1a0730c3dcd50b8 (diff) |
Implement multi-project synchronization
Now the same configuration can be shared by multiple projects and a sync
command from any of them (or from the build system hook) will synchronize
everyting.
Diffstat (limited to 'bdep/utility.cxx')
-rw-r--r-- | bdep/utility.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/bdep/utility.cxx b/bdep/utility.cxx index e048a5a..15fb599 100644 --- a/bdep/utility.cxx +++ b/bdep/utility.cxx @@ -109,6 +109,23 @@ namespace bdep : "bpkg" BDEP_EXE_SUFFIX; } + void + finish_bpkg (const common_options& co, process& pr, bool io) + { + if (!pr.wait ()) + { + const process_exit& e (*pr.exit); + + if (e.normal ()) + throw failed (); // Assume the child issued diagnostics. + + fail << "process " << name_bpkg (co) << " " << e; + } + + if (io) + fail << "error reading " << name_bpkg (co) << " output"; + } + const char* name_b (const common_options& co) { |