Ошибка компиляции Gradle с Kotlin DSL при настройке Java Spec - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь создать файл сборки для проекта 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, но я хочу, чтобы настройка применялась ко всем подпроектам, а не только к конкретным проектам.

1 Ответ

0 голосов
/ 02 декабря 2018

Вы можете просто использовать

configure<JavaPluginExtension> { ... }
...