with Gradle Kotlin DSL, there are some limitations for script plugins.
standalone script plugins:
1. Type-safe accessors - N
2. Function export - N (
extra["xxx"] = fun()
can be a workaround)
3. Extension Function export - N
4. Shared Dependencies - N (You need to redeclare
buildScript{}
)
precompiled script plugins:
1. Type-safe accessors - Y
2. Function export - N (
extra["xxx"] = fun()
can be a workaround)
3. Extension Function export - Y (
fun Project.customLog(…){…}
)
4. Shared Dependencies - Y (By
build.gradle.kts
of
buildSrc
or a standalone project)
So it’s not an equivalent of Gradle Groovy DSL script plugin, but again “Better use precompiled script plugins” same as Vampire’s opinion.