From 000732776ae95969d115fb17bc2bffcff2e69ffa Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Fri, 27 Nov 2020 14:20:20 +0900 Subject: checkapi: allow adding @Deprecated @JavaPassthrough(annotation="@Deprecated") is now considered as a compatible change. Checkapi ignores it. Bug: 174327111 Test: aidl_unittests Change-Id: I3e43736732929baf63393b3c0bf2bdcaf412e84e --- aidl_checkapi.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'aidl_checkapi.cpp') diff --git a/aidl_checkapi.cpp b/aidl_checkapi.cpp index 9d9387cc..d752f449 100644 --- a/aidl_checkapi.cpp +++ b/aidl_checkapi.cpp @@ -32,6 +32,7 @@ namespace aidl { using android::base::Error; using android::base::Result; +using android::base::StartsWith; using std::map; using std::set; using std::string; @@ -61,9 +62,15 @@ static vector get_strict_annotations(const AidlAnnotatable& node) { }; vector annotations; for (const AidlAnnotation& annotation : node.GetAnnotations()) { - if (kIgnoreAnnotations.find(annotation.GetType()) == kIgnoreAnnotations.end()) { - annotations.push_back(annotation.ToString()); + if (kIgnoreAnnotations.find(annotation.GetType()) != kIgnoreAnnotations.end()) { + continue; + } + auto annotation_string = annotation.ToString(); + // adding @Deprecated (with optional args) is okay + if (StartsWith(annotation_string, "@JavaPassthrough(annotation=\"@Deprecated")) { + continue; } + annotations.push_back(annotation_string); } return annotations; } -- cgit v1.2.3