Я пытаюсь создать файл сборки для проекта Kotlin, который иногда будет включать исходные тексты Java.Раньше с файлами сборки на основе Groovy в многопроектной сборке я мог без проблем указывать sourceCompatibility
в блоке subproject
.С Kotlin DSL я знаю, что он должен быть в блоке java
для настройки с Kotlin DSL, но когда я пытаюсь сделать это из блока subproject
в моем корневом файле build.gradle.kts
, я получаю ошибку компиляции:
Script compilation errors:
Line 14: java {
^ Expression 'java' cannot be invoked as a function. The function 'invoke()' is not found
Line 14: java {
^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public val PluginDependenciesSpec.java: PluginDependencySpec defined in org.gradle.kotlin.dsl
Line 15: sourceCompatibility = JavaVersion.VERSION_1_8
^ Unresolved reference: sourceCompatibility
3 errors
Я включил gist в файл сборки gradle, который я использую.Теперь я могу заставить его работать, если я укажу блок java в одном из файлов подпроектов build.gradle.kts
, но я хочу, чтобы настройка применялась ко всем подпроектам, а не только к конкретным проектам.