ProtoLog: Better behavior when parsing fails

Improves behavior when parsing fails; now, ProtoLog skips the offending files, and
relies on the subsequent compilation step to catch the error.

Additionally, the build no longer fails when the canonical protolog.json file contains
obsolete entries.

Test: Introduce syntax error in services/core/ file, make and verify error messaging is sound
Change-Id: Ic23dec4a14489316ecb0e46bbabe246ddae29655
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 6a3b38e..b788518 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -48,7 +48,7 @@
         ":services.core.protolog.json",
     ],
     cmd: "cp $(location :generate-protolog.json) $(out) && " +
-      "{ diff $(out) $(location :services.core.protolog.json) >/dev/null 2>&1 || " +
+      "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
       "{ echo -e '\\n\\n################################################################\\n#\\n" +
       "#  ERROR: ProtoLog viewer config is stale.  To update it, run:\\n#\\n" +
       "#  cp $(location :generate-protolog.json) " +