diff options
Diffstat (limited to 'libs/project')
-rwxr-xr-x | libs/project | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/libs/project b/libs/project index 52888e32..e5088265 100755 --- a/libs/project +++ b/libs/project @@ -147,21 +147,26 @@ project_action() { return 0 fi - printf '%s\n\n' "Project $project $action (with ${arguments:-no argument})" - ( set +e - "$action" "$@" - ) + printf '%s\n\n' "Project $project $action (with ${arguments:-no argument})" - if [[ $? -eq 0 ]]; then - printf '\n%s\n' "Project $project $action (with ${arguments:-no argument}) completed" - else - printf 1>&2 '\n%s\n' "Project $project $action (with ${arguments:-no argument}) failed" + ( + "$action" "$@" + ) + + local -i exit_status=$? + + if ((exit_status)); then + printf 1>&2 '\n%s\n' "Project $project $action (with ${arguments:-no argument}) failed" + else + printf '\n%s\n' "Project $project $action (with ${arguments:-no argument}) completed" + fi + + exit $exit_status + ) - return 1 - fi } project_action_check() { |