PluginAccessorsClassPath.kt

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add `GeneratePrecompiledScriptPluginAccessors` task skeleton

  1. … 13 more files in changeset.
Emit type-safe accessors for plugins in the compile classpath

  1. … 17 more files in changeset.
Move kotlin-dsl in a sub directory

  1. … 1579 more files in changeset.
Let code generation always use same line separators

in order to produce reproducible outputs

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 7 more files in changeset.
Polish `org.gradle.kotlin.dsl.concurrent.IO`

- Move interfaces and extensions to dedicated file `IO.kt`

- Extract Gradle service interface

- Improve test synchronization

  1. … 7 more files in changeset.
Use a single IO thread per build

And let it be managed by Gradle's `ExecutorFactory` service.

See #1202

  1. … 8 more files in changeset.
Let generated plugin accessors code import default package types

To enable quick documentation and navigation to the sources of plugins

implemented by default package types.

See #1205

  1. … 1 more file in changeset.
Polish `PluginAccessorsClassPath`

Split accessor emitter implementation into multiple files

  1. … 11 more files in changeset.
Polish `AccessorBytecodeEmitter`

  1. … 2 more files in changeset.
Don't call `mkdirs()` unnecessarily

  1. … 3 more files in changeset.
Emit bytecode for configuration and extension accessors directly

  1. … 9 more files in changeset.
Emit bytecode for plugin spec builders directly

This makes code generation faster by a factor of 100 which means it

now takes a few dozen milliseconds rather than a few seconds.

    • -37
    • +242
    ./PluginAccessorsClassPath.kt
  1. … 16 more files in changeset.
Introduce type-safe accessors for plugin ids

Starting with this commit, the Kotlin DSL will generate type-safe

accessors for all plugin ids found in the `buildSrc` classpath.

So instead of writing:

```kotlin

plugins {

id("gradlebuild.strict-compile")

id("gradlebuild.classcycle")

}

```

One can write:

```kotlin

plugins {

gradlebuild.`strict-compile`

gradlebuild.classcycle

}

```

All while enjoying content assist and source code navigation all the

way down to the plugin implementation class.

    • -0
    • +200
    ./PluginAccessorsClassPath.kt
  1. … 17 more files in changeset.