@JvmDefault не найден sourceCompatibility/targetCompatibility, назначенное переменной проекта
Я хочу предоставить реализацию по умолчанию для метода в моем интерфейсе Kotlin:
interface INavItem : Comparable<INavItem> {
val order: Int
@JvmDefault
override fun compareTo(other: INavItem): Int = order.compareTo(other.order)
}
но @JvmDefault
выделено с ошибкой:
"@JvmDefault" поддерживается только с версии 1.8 JVM. Перекомпилируйте с '-jvm-target 1.8
Параметр JVM target 1.8 присутствует в файле сборки корневого проекта:
project.ext {
javaVersion = JavaVersion.VERSION_1_8
// other properties
}
и я использую его внутри файла сборки модуля:
android {
compileOptions {
sourceCompatibility rootProject.ext.javaVersion
targetCompatibility rootProject.ext.javaVersion
}
// ...
}
Примечание. Функции Java 8 (лямбды и т. Д.) Доступны в исходных кодах Java.
Есть ли способ назначить source/targetCompatibility
переменными, видимыми для котлинского линта?