A Kotlin Compiler Plugin that can auto generate Java member getter/setter for kotlin extension property.
| Limitation | Is supported | Description/Addition info |
|---|---|---|
| Annotation Class | ❌ | Annotation class has no body |
| Getter | ✅ | None |
| Setter | Not tested fully | |
| Getter/Setter with generic | The Type Erasure in JVM, all generic type will be erased to Object Please avoid using generic in extension property getter/setter. |
The minimum Kotlin version supported by the plugin is
2.2.10
- Add the maven repository of RTAST both
build.gradle.ktsandsettings.gradle.kts
// build.gradle.kts
repositories {
mavenCentral()
maven("https://repo.maven.rtast.cn/releases")
}
// settings.gradle.kts
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
mavenCentral()
maven("https://repo.maven.rtast.cn/releases")
}
}- Add the plugin to gradle
// build.gradle.kts
plugins {
id("cn.rtast.interop") version "<plugin version>"
}- Configuring the plugin(Optional)
// build.gradle.kts
interopShield {
// Whether to enable the plugin, by default, it's true
enabled = true
// Suppressing the warning, by default, it's false
suppressWarning = false
}一个自动为Kotlin的拓展属性生成Java成员getter/setter的Kotlin编译器插件
| 限制 | 是否支持 | 附加信息 |
|---|---|---|
| 注解类 | ❌ | 注解类内不允许有函数体 |
| Getter | ✅ | 无 |
| Setter | 没有完全测试 | |
| 带有泛型的Getter/Setter | 编译时会将泛型类型擦除变为Object, 请避免使用带有泛型的getter/setter |
插件开始支持的最小Kotlin版本为
2.2.10
- 在
build.gradle.kts和settings.gradle.kts中添加如下maven仓库配置
// build.gradle.kts
repositories {
mavenCentral()
maven("https://repo.maven.rtast.cn/releases")
}
// settings.gradle.kts
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
mavenCentral()
maven("https://repo.maven.rtast.cn/releases")
}
}- 将插件添加到gradle内
// build.gradle.kts
plugins {
id("cn.rtast.interop") version "<plugin version>"
}- 配置插件(可选)
// build.gradle.kts
interopShield {
// 是否启用插件, 默认为true
enabled = true
// 是否抑制警告, 默认为false
suppressWarning = false
}