Introduce doctrine/annotations to replace user defined annotations (mostly in Extbase)
Extbase's own annotation functionality is hardly maintained and has various critical issues (e.g. not allowing to import class names). Even Neos' Flow has migrated to doctrine/annotations. This packages' sole purpose is what we do with Extbase and the various ClassSchema / ReflectionService, but with people maintain and improving it.
As nobody stepped up in the past years to overcome issues and take ownership in this area, it is more than appropriate (taken the issues from above into account) to use the library and migrate our custom annotations to doctrine's schema. This also allows to use other frameworks by re-using the same patterns and not mix our custom annotation handling with doctrine's annotations.
In order to move forward, the first step is to integrate doctrine/annotations, and migrate our own annotations to the new structure, deprecating our own.
Once this is done, Extbase's code will be less cluttered, and we can overcome various caching issues as doctrine's caching does not work on a per-plugin basis as `extbase_object` does.
[TASK] Deprecate extbase annotation @flushesCaches
The annotation has been introduced during backport from FLOW, but
was never implemented to do anything useful. It will be removed
Reviewed-by: Susanne Moog <email@example.com>
Tested-by: Susanne Moog <firstname.lastname@example.org>
Reviewed-by: Mathias Brodala <email@example.com>
Tested-by: TYPO3com <firstname.lastname@example.org>
Reviewed-by: Christian Kuhn <email@example.com>
Tested-by: Christian Kuhn <firstname.lastname@example.org>