nextcloud / nextcloud/android

Build Performance Improvement: Fix Incremental Annotation Processor Issue

Open
#15,121 2 comments 0 reactions 0 assignees View on GitHub
0. Needs triage enhancement
Dominant language
Kotlin
Stars
5.6k
Forks
2k
Avg merge
2d 18h
Merged PRs (30d)
92

Description

### How to use GitHub

* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.

**Is your feature request related to a problem? Please describe.**
Currently Incremental Annotation Processing is enabled in the gradle.properties file. however it's not working because one of the annotation processor (io.noties:prism4j-bundler) used by the app is non-incremental. You can check more about it here: https://kotlinlang.org/docs/kapt.html#incremental-annotation-processing

**Describe the solution you'd like**
I would suggest to move this annotation processor along with its libraries (Markwon & Prism4j) and its usage (which I only found at PreviewTextFragment.kt) to a separate module. It would eventually make the app module start supporting incremental annotation processor resulting in faster build.

**Describe alternatives you've considered**
I was actually looking for alternate libraries to replace Markwon & Prism4j because they no longer maintained and even though there are some alternate libraries like [Flexmark-Java](https://github.com/vsch/flexmark-java) but they alone wouldn't be enough to support all the plugins of Markwon especially Syntax highlighting for all different languages which currently supported through Prism4j. So, If have to consider alternate then it would required some additional research and refactoring to assure all existing cases are covered.

**Additional context**
N/A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.