You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In AndroidX we exclude experimental APIs from our compatibility tracking. The way we do this is by ignoring anything which is annotated by an annotation which itself is annotated with RequiresOptin.
Enumerating all the nonPublicMarkers is brittle (see here) so it would bee great if we could add meta annotations which should not be tracked. e.g. do not track anything annotated with an annotation which itself is annotated with @RequiresOptin.
I took a quick look into implementing it and it seems doable for JVM, however for klibs an AbiReadingFilter doesn't seem to have access to the necessary information to do such a check. Specifically, the list of annotations on a declaration and the associated classes with their annotations.
@Target(AnnotationTarget.ANNOTATION_CLASS)
annotationclassMetaHide
@MetaHide
@Target(AnnotationTarget.CLASS)
annotationclassMyExperimentalApi
@MetaHide
@Target(AnnotationTarget.CLASS)
annotationclassAnotherExperimentalAPi
@MyExperimentalApi
classA {} // should be hidden
@AnotherExperimentalApi
classB {} // so should this
The text was updated successfully, but these errors were encountered:
In AndroidX we exclude experimental APIs from our compatibility tracking. The way we do this is by ignoring anything which is annotated by an annotation which itself is annotated with
RequiresOptin
.Enumerating all the nonPublicMarkers is brittle (see here) so it would bee great if we could add meta annotations which should not be tracked. e.g. do not track anything annotated with an annotation which itself is annotated with
@RequiresOptin
.I took a quick look into implementing it and it seems doable for JVM, however for klibs an
AbiReadingFilter
doesn't seem to have access to the necessary information to do such a check. Specifically, the list of annotations on a declaration and the associated classes with their annotations.The text was updated successfully, but these errors were encountered: