Merge "Improve handling of errors from zipinfo" am: b02043b84d am: 4b3afb7798 am: 0bbc2d0229 am: ce2624cf88 am: d0cfac1546

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1790956

Change-Id: Ib60578ead4ccaa7ba09f628a6c9281c0cc70e6ce
Merged-In: Ib60578ead4ccaa7ba09f628a6c9281c0cc70e6ce
(cherry picked from commit c3fc0cdb16744f52d61a808a0f8884d70c77c272)
diff --git a/apex/builder.go b/apex/builder.go
index e3e06bb..6b77076 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -76,7 +76,7 @@
 	// by default set to (uid/gid/mode) = (1000/1000/0644)
 	// TODO(b/113082813) make this configurable using config.fs syntax
 	generateFsConfig = pctx.StaticRule("generateFsConfig", blueprint.RuleParams{
-		Command: `( echo '/ 1000 1000 0755' ` +
+		Command: `( set -e; echo '/ 1000 1000 0755' ` +
 			`&& for i in ${ro_paths}; do echo "/$$i 1000 1000 0644"; done ` +
 			`&& for i in  ${exec_paths}; do echo "/$$i 0 2000 0755"; done ` +
 			`&& ( tr ' ' '\n' <${out}.apklist | for i in ${apk_paths}; do read apk; echo "/$$i 0 2000 0755"; zipinfo -1 $$apk | sed "s:\(.*\):/$$i/\1 1000 1000 0644:"; done ) ) > ${out}`,