Skip to content

Add KSP support (moxy-compiler-ksp) alongside KAPT#147

Open
vlaushkin wants to merge 1 commit into
moxy-community:developfrom
vlaushkin:feature/ksp-support
Open

Add KSP support (moxy-compiler-ksp) alongside KAPT#147
vlaushkin wants to merge 1 commit into
moxy-community:developfrom
vlaushkin:feature/ksp-support

Conversation

@vlaushkin

Copy link
Copy Markdown

moxy-compiler-ksp is an optional KSP processor that generates the same
$$State, $$ViewStateProvider and $$PresentersBinder as KAPT, byte for byte.
The runtime loads them by name, so it's untouched and a project can switch
KAPT to KSP without code changes. KAPT stays the default.

Verified byte-for-byte against the existing goldens, and end-to-end on a real
app (~54 presenters).

Added

  • moxy-compiler-ksp (JavaPoet generators, opt-in per module)
  • Byte-parity tests vs the goldens, plus diagnostics and corner-case suites
  • sample-app moved to KSP (Moxy + Hilt)

Changed

  • Kotlin 1.4.32 → 2.4.0, AGP 4.1.3 → 9.0.1, Gradle 6.8.3 → 9.2.1
  • KSP2 (symbol-processing 2.3.9), Hilt 2.60 in sample-app

moxy-compiler (KAPT) still passes its full suite on the new toolchain.

Not supported by KSP (keep KAPT)

  • Un-annotated Java presenters relying on inherited @InjectViewState
  • value-class params, suspend methods, properties, Java-keyword method names
  • object/singleton presenters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant