Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.

Make StandardKotlinScriptEvaluator$ScopeBackedCompiledScript static

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.

    • -0
    • +46
    ./ScriptCacheRepository.kt
  1. … 7 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. … 8 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.
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. … 8 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.
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.
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. … 5 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.
Fix for previous commit.

  1. … 7 more files in changeset.
Fix for previous commit.

  1. … 7 more files in changeset.
Fix for previous commit.

  1. … 3 more files in changeset.
Fix for previous commit.

  1. … 3 more files in changeset.
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.

  1. … 24 more files in changeset.
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.

  1. … 19 more files in changeset.
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.

  1. … 24 more files in changeset.
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.

  1. … 19 more files in changeset.
HACK: Build using Kotlin 1.3.70-dev-1099 from kotlin-dev

  1. … 13 more files in changeset.
HACK: Build using Kotlin 1.3.70-dev-1099 from kotlin-dev

  1. … 13 more files in changeset.
HACK: Build using Kotlin 1.3.70-dev-1099 from kotlin-dev

  1. … 13 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.
Make paths/names of included builds immutable

  1. … 31 more files in changeset.
Add the kotlin-eap repo to all Kotlin DSL scripts buildscript scriptHandler

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

Add the kotlin-eap repo to all Kotlin DSL scripts buildscript scriptHandler

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

Add the kotlin-eap repo to all Kotlin DSL scripts buildscript scriptHandler

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

Add the kotlin-eap repo to all Kotlin DSL scripts buildscript scriptHandler

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