Annotation processors
Jugg provides incremental handling only for a small set of explicitly listed annotation entry points and includes their generated sources in the current source compilation. APT, KAPT, or KSP processors not listed here are not run independently by Jugg and must be handled by Gradle.
Supported scope
| Annotation / entry point | Supported | Implementation |
|---|---|---|
Add a com.tencent.kuikly.core.annotations.Page / @Page page | Yes | Adds missing registrations to the existing route entry point and includes the updated entry point in the current source compilation |
Delete, rename, or change an existing Kuikly @Page route | No | Does not remove old route registrations; Gradle must regenerate the complete entry point |
Use KSP1 com.squareup.moshi.JsonClass / @JsonClass | Yes | Uses the project's KSP1 compiler plugin to generate the Moshi adapter, then continues source compilation |
Use KSP2 com.squareup.moshi.JsonClass / @JsonClass | No | Does not run a KSP2 processor independently and can only continue compiling sources already generated by Gradle |
DataBinding <layout> | Yes | Uses the dedicated DataBinding annotation processor to generate mapper, BR, and binding-related sources |
NOTE
Annotation processors other than the explicitly listed entry points are considered unsupported for independent incremental execution by Jugg. Use the corresponding Gradle build when their sources must be regenerated.
Boundaries
- Incremental Kuikly
@Pagehandling depends on the latest route-entry baseline generated by Gradle/KSP and only adds missing registrations. Use Gradle to remove stale registrations after deleting a page, changing a route, or renaming a page class. - Moshi KSP is triggered only when the current Kotlin source explicitly uses
com.squareup.moshi.JsonClassand the project contains the corresponding KSP dependency. - Jugg does not run KSP2 processors independently; it can only continue compiling sources that Gradle has already generated.
- After changing processor dependencies, compiler plugins, arguments, or generation rules, complete Sync if the project model changed, then run a Gradle build to refresh the generated-source baseline.