Rodrigo B. de Oliveira

Merge branch 'master' into westline/services

Polish westline experiments

Merge pull request #11014 from gradle/eskatos/release-5.6/kotlin-dsl

Let Kotlin DSL gracefully handle lambdas registered as extensions (5.6.3)

Mark `KotlinBuildScript` as `@since 6.0` to silence binary compatibility errors

Report script diagnostics to the host

Start migrating the `KotlinBuildScript` template to the new API

Polish `MyKotlinScript.kt`

Experiment with new Kotlin script template API

The new template kicks-in for scripts named `*.my.kts` anywhere in a project.

Merge pull request #10968 from gradle/bamboo/master/fix-kotlin-warnings

Remove a couple of Kotlin compilation warnings

Polish `Interpreter.kt`

- Remove shadowed name warning via method reference

Polish `TransformerCodec.kt`

- Silence warning via `uncheckedCast` utility

Merge branch 'release' into bamboo/release/kotlin-dsl/9473

Add missing `@Incubating` annotation

Make `Project.plugins { }` extension a top-level function

Fail to compile nested `plugins` blocks in Kotlin scripts

Fail to compile nested `plugins` blocks in Kotlin scripts

Merge pull request #10822 from gradle/bamboo/kotlin-dsl/implicit-receivers

Remove `Gradle`, `Settings` and `Project` interfaces from Kotlin DSL script type hierarchies

Add compatibility note on precompiled script plugins

    • -0
    • +2
Merge branch 'release' into bamboo/kotlin-dsl/implicit-receivers

Prefer `Action<T>` over `T.() -> Unit` for the Kotlin script API

From the perspective of an user of the API both types are effectively

the same.

From a compile time and runtime perspective `Action<T>` seems a better

choice as values can be passed to the core Gradle API directly.

From an API consistency point of view `Action<T>` also looks like the

superior choice as it is more consistent with the rest of the Gradle


And finally, from an user education perspective, `KotlinScript`

provides a clear opportunity for users to understand the equivalence

between `Action<T>` and `T.() -> Unit`.

Polish `ScriptApiTest`

Merge branch 'release' into bamboo/kotlin-dsl/implicit-receivers

Remove spurious empty line

Polish `ResidualProgramCompilerTest`

- Remove spurious empty line

Let precompiled script templates support the `ObjectConfigurationAction` syntax

Merge branch 'release' into bamboo/kotlin-dsl/implicit-receivers

Remove unused import

Polish `PrecompiledScriptTemplates.kt`

- Reduce member visibility

Let precompiled project script template support `ObjectConfigurationAction` syntax

Add legacy precompiled script templates to `PublicKotlinDslApi`

So they are subject to the binary compatibility checks.