Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Polish `PrecompiledScriptPlugin.kt` and family

  1. … 2 more files in changeset.
Touch-up optimisation note

Introduce `convertLineSeparatorsToUnix`

A non-null, non-copying version of `normaliseLineSeparators`.

  1. … 3 more files in changeset.
Avoid re-scanning the script text provided by the Kotlin compiler

As it already guarantees the text contains only `\n` line separators.

Let precompiled script plugins with CRLF line separators find its accessors

By normalising the line separators in the script text before computing its hash.

Fixes #12248

  1. … 3 more files in changeset.
Fix Kotlin DSL constraints block

This commit introduces a workaround for the Kotlin DSL

which doesn't delegate the constraints block to the right

delegate type. The consequence is that constraints were

mixed with dependencies when using extension methods defined

on the `DependencyConstraintHandlerScope`, because the compiler

didn't realize that the receiver type was indeed this scope.

    • -1
    • +20
    ./gradle/kotlin/dsl/DependencyHandlerScope.kt
  1. … 6 more files in changeset.
Move method back to ProjectExtensions

The move of the method was a mistake as it breaks usage of this method

in plugins or pre-compiled script plugins.

Fixes #11947

    • -0
    • +9
    ./gradle/kotlin/dsl/ProjectExtensions.kt
    • -8
    • +0
    ./gradle/kotlin/dsl/ScriptHandlerExtensions.kt
  1. … 1 more file in changeset.
Extract replaced configuration and replaced property message builders

  1. … 34 more files in changeset.
Make exception message more specific

Add offending file name to exception caused by empty jar in the classpath

  1. … 1 more file in changeset.
Revert empty lines back

Make StandardKotlinScriptEvaluator$ScopeBackedCompiledScript s… (#11618)

We observed memory leak in StandardKotlinScriptEvaluator. This PR

makes an attempt to make StandardKotlinScriptEvaluator$ScopeBackedCompiledScript

static.

Clarify variable name

Make Ktlint happy

Recognize Kotlin script caches as additive caches

And stop watching compiled Kotlin DSL directories.

    • -3
    • +3
    ./gradle/kotlin/dsl/cache/BuildServices.kt
    • -3
    • +3
    ./gradle/kotlin/dsl/cache/ScriptCache.kt
    • -0
    • +46
    ./gradle/kotlin/dsl/provider/ScriptCacheRepository.kt
  1. … 3 more files in changeset.
Do not hash the implementation classpath for a Groovy DSL script to use for in-memory script caching, but instead use the parent `ClassLoader` identity and the hash of the script itself, as this is faster and identifies the script implementation equally well.

This was the previous behavior, which was accidentally changed in a previous commit. This commit restores the previous behaviour but in a way that (hopefully) is harder to accidentally break in the future.

  1. … 9 more files in changeset.
Add support for locking extension in ScriptHandler

This enables defining the lock mode and other extensions to dependency

locking.

Issue #9907

    • -9
    • +0
    ./gradle/kotlin/dsl/ProjectExtensions.kt
    • -0
    • +39
    ./gradle/kotlin/dsl/ScriptHandlerExtensions.kt
  1. … 4 more files in changeset.
Simplify and improve the reliability of serializing classes to the instant execution cache.

Fixes a case where loading the instant execution cache after writing a task graph that references a different set of build scripts to that referenced last time the task graph was written.

  1. … 7 more files in changeset.
Mark `InitScriptApi` and `SettingsScriptApi` deprecated

And provide a suggestion to `replaceWith` the corresponding script receiver.

    • -0
    • +4
    ./gradle/kotlin/dsl/KotlinInitScript.kt
    • -0
    • +4
    ./gradle/kotlin/dsl/KotlinSettingsScript.kt
Fix `ClassNotFoundExeception` when loading objects whose class is defined in a build script from the instant execution cache, after recreating the cache from a daemon process that has previously successfully used the cache.

For example, running `gradle taskA`, `gradle taskA`, `gradle taskB`, `gradle taskB` would fail if `taskB` uses types from a build script.

This was happening because the script ClassLoaders are cached and reused, but the association between ClassLoader and scope was lost, and this association is what instant execution uses to know how to load the class.

This change fixes one case of this problem, but the same problem can still happen if the set of build scripts being referenced changes.

    • -0
    • +24
    ./gradle/kotlin/dsl/execution/CompiledScript.kt
    • -19
    • +11
    ./gradle/kotlin/dsl/execution/Interpreter.kt
  1. … 20 more files in changeset.
Polish `DefaultKotlinScript`

- Reduce scope of unchecked_cast annotation

Preserve `fileTree(mapOf(...))` behaviour for backward compatibility

See #11335

  1. … 1 more file in changeset.
Add a registry of shared "services" to the `Gradle` object. These are intended to be used by plugins to represent some service or state that is shared by tasks.

  1. … 12 more files in changeset.
Make `settings.gradle.kts` evaluation trigger auto-applied plugins

  1. … 1 more file in changeset.
Restore `build-scan` plugin syntax in Kotlin scripts

Closes #11095

  1. … 1 more file in changeset.
Remove `platform` dsl from constraint handler

These shortcuts define details of a dependency like attributes,

requested capabilities and 'endorse strict' status. These things

can not be defined on constraints. So these methods only cause

inconsistent behavior.

One can use constraints in combination with platforms like this to

control platform versions:

dependencies {

api platform("org:platform")

constraints {

api "org:platform:1.0"

}

}

  1. … 12 more files in changeset.
Integrate with Gradle Enterprise plugin 3.0 (#11041)

  1. … 51 more files in changeset.
Make paths/names of included builds immutable (#10998)

Changes the “build path” for included builds to be determined at inclusion time based on the directory name, or a user supplied override. Previously, we tried to use the root project name defined in the included build. This caused a lot of complexity due to it not being known until part way through building the included build.

This change also disallows use of `buildSrc` as a project name, as it collides with the `buildSrc` nested build.

  1. … 71 more files in changeset.
Polish `Interpreter.kt`

- Remove shadowed name warning via method reference

    • -3
    • +3
    ./gradle/kotlin/dsl/execution/Interpreter.kt
Revert "Merge pull request #10954 from gradle/eskatos/kotlin-dsl/new-tapi-model-in-tooling-api-jar"

This reverts commit 00cdf938c0d9df3786760adeecf9c2e7d45bff78, reversing

changes made to 28d5b62f4ac9b3b57b57c5b625869516198ed836.

  1. … 20 more files in changeset.