VirtualReflection
Virtual reflection of Kotlin all target
us English | cn 简体中文
ability
- Set all classes in certain packages to support virtual reflection
How to use
Step 1.Root dir, build.gradle.kts add:
buildscript {
repositories {
maven("https://jitpack.io")//this
...
}
}
allprojects {
repositories {
maven("https://jitpack.io")//this
...
}
}Step 2.Your app dir, build.gradle.kts add:
- If it is a single platform, add it to build.gradle.kts in the app module directory
plugins {
...
id("com.google.devtools.ksp") version "1.7.10-1.0.6"//this, The left 1.7.10 corresponds to your the Kotlin version,more version: https://github.com/google/ksp/releases
}
//The fourth step of configuring ksp to generate directory reference links: https://github.com/ltttttttttttt/Buff/blob/main/README.md
dependencies {
...
ksp("com.github.ltttttttttttt:VirtualReflection:$version")//this, such as 1.0.5
}- If it is multi-platform, add it to build.gradle.kts in the common module directory
plugins {
...
id("com.google.devtools.ksp") version "1.7.10-1.0.6"
}
...
val commonMain by getting {
//Configure the ksp generation directory
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
...
dependencies {
add("kspCommonMainMetadata", "com.github.ltttttttttttt:VirtualReflection:$version")//this, such as 1.0.5
}Step 3.Use VirtualReflection
Configure packages that require virtual reflection, Your app dir, build.gradle.kts -> android(or kotlin) add:
ksp {
//Configure multiple paths separated by spaces
arg("packageListWithVirtualReflection", "com.lt.virtual_reflection.bean/*your package*/")
//Configure the generated function name, which defaults to newInstance
//arg("functionNameWithVirtualReflection", xxx)
}use
KClass.newInstance()
//or
KClass.newInstance(parameters...)