feat: Add patch annotation processor #231
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Annotations required reflection and working with them turned out to be rather cumbersome. The annotations have been replaced with properties for the most part, and an annotation processor for patches has been introduced instead. Patches can use the
@Patch
instead of super constructor parameters.Breaking changes
Patch annotations have been removed.
PatcherException
is now thrown in various places.PatchBundleLoader
is now a map of patches associated with their name. Patches are now instances. The manifest for patches has been removed, and the properties have been added to patches. Patches are nowOptionsContainer
. The@Patch
annotation has been removed in favor of the@Patch
annotation from the annotation processor.