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.
Cherry pick from the original PR:
PR Submission Checklist for internal contributors
The PR Title
The PR Description
What's new in this PR?
Issues
We're using KAPT, which is in "maintenance mode" and was not made with Kotlin as a first-party language, but rather as a bridge between Java and Kotlin.
KAPT is rather slow compared to KSP.
Solutions
Leverage Dagger's new release (2.48), which is the first to support KSP and remove KAPT from the project completely.
On my machine, I conducted some runs going back and forward between these changes and checked the impact of them.
Consider that we are already using KSP because of
compose-destinations
, so we already have a couple of seconds of KSP cost in our build time.I've grouped the tasks related to Hilt/KAPT/KSP and measured how long they're taking:
Notice how the
kspBetaDebugKotlin
was already taking some ≅2.5 seconds because ofcompose-destinations
, and it increases a bit now withhilt
running on KSP. But removing KAPT is still a net positive, as it can be see in the summary:KAPT/KSP/Hilt time goes from ≅21s to ≅10s on my machine.
Testing
Tested the app manually.
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.