Я хочу модулировать мои build.gradle.kts
файлы с помощью функции предварительно скомпилированных скриптов *1003*, представленной в Gradle 5.3.1.
Она отлично работает, когда у меня есть простой файл hello-world.gradle.kts
в buildSrc/src/main/kotlin
напрямую
tasks.register("hello-world") { println("hello world") }
и включите его в раздел плагинов моего основного build.gradle.kts
:
plugins {
`hello-world`
}
Теперь я могу использовать gradle hello-world
и увидеть ожидаемый результат.
Но когда я помещаю тот же сценарий в buildSrc/src/main/kotlin/custom/hello-world-custom.gradle.kts
(добавляя package custom
к сценарию), он терпит неудачу, хотя в документации говорится:
Аналогично, src / main / kotlin/my/java-library-convention.gradle.kts приведет к идентификатору плагина my.java-library-Convention, если в нем есть объявление пакета my.
Main build.gradle.kts
:
plugins {
`custom.hello-world-custom`
}
но вместо этого я получаю сообщение об ошибке:
Script compilation error:
Line 3: `custom.hello-world-custom`
^ Unresolved reference: `custom.hello-world-custom`
Есть идеи, как это исправить?
Обновление : чтобы воспроизвести это, я создал маленькое репо с различными задачами "hello world".