NavEasePlugin

class NavEasePlugin : Plugin<Project>

Wires KSP and the NavEase artifacts into a Kotlin Multiplatform module.

plugins {
kotlin("multiplatform")
id("org.jetbrains.compose")
id("org.jetbrains.kotlin.plugin.compose")
id("io.github.alims-repo.navease") version "<version>"
}

The plugin:

  • applies com.google.devtools.ksp and org.jetbrains.kotlin.plugin.serialization, unless the build already declares them;

  • adds navease-ksp to kspCommonMainMetadata and navease-runtime to commonMain;

  • registers build/generated/ksp/metadata/commonMain/kotlin as a commonMain source directory;

  • makes every compilation depend on kspCommonMainKotlinMetadata;

  • gives the module its own generated package, so several modules can use NavEase without generating colliding classes.

Configure it through NavEaseExtension.

Kotlin Gradle plugin types are reached only through KotlinMultiplatformWiring; see that class for why.

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard
open override fun apply(target: Project)