Stefan Oehme

Fix equals/hashcode of mutable classloaders

When a parent was added to a MultiParentClassLoader, its hashcode

would change, meaning that it could no longer be found in any Sets

or Maps we put it in. This lead to severe memory leaks when used in

conjunction with configure-on-demand, where adding parents late is common.

These classloaders now use an identity hashcode and equals implementation.

Fix equals/hashcode of mutable classloaders

When a parent was added to a MultiParentClassLoader, its hashcode

would change, meaning that it could no longer be found in any Sets

or Maps we put it in. This lead to severe memory leaks when used in

conjunction with configure-on-demand, where adding parents late is common.

These classloaders now use an identity hashcode and equals implementation.

Fix IDEA module generation for overlapping resources

The test for this feature didn't actually test that a source

folder was there, so this was broken later on without noticing.

Merge pull request #8310 from gradle/oehme/fix-overcounted-unpacks

Fix overcounting of unpacked directories

Fix overcounting of unpacked directories

The tar unpacker was counting every root directory except the

first one twice, because it was incrementing its counter before

checking whether it has left the current root.

The increment is now done after this check and a test case for this

condition was added.

Merge pull request #8211 from gradle/ljacomet/core/ignore-dir-only-changes

Only consider resource files for change processing

Explain annotation processing changes.

    • -1
    • +3
    /subprojects/docs/src/docs/release/notes.md
Merge pull request #8175 from gradle/oehme/jfr-jdk11

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Support Java 9+ flamegraphs

Mention Thomas Broyer in release notes

    • -1
    • +3
    /subprojects/docs/src/docs/release/notes.md
Merge pull request #8134 from tbroyer/issue-2300-sourceSet.output.generatedSourcesDirs

Add annotation processor generated sources to SourceSetOutput

Merge pull request #8135 from tbroyer/issue-8128-incrementalprocessing.unrecognizeoption

Silence unrecognized annotation processor option during incremental processing

Remove jansi workaround for bug that was fixed upstream

Make ModuleRegistry slightly faster

Simplify DaemonRegistryServices

Remove some unnecessary ThreadLocal access

Construct gradleApi collection only once per daemon

Remove detection of executor being stopped from executor thread

Make GradleThread more efficient

Remove dependency from source to generated element for isolating processors

Merge pull request #8103 from gradle/oehme/script-compilation/faster-hashing

Make script source hashing faster

Rebaseline configuration performance test

There was a small regression due to a correctness fix, which we

accept for 5.1. There already is a performance fix for it targeted

for 5.2. See #8103

Make Hasher.putString faster

Write the unencoded characters instead of UTF-8

encoding them to avoid some unnecessary work.

This may need to be reconsidered if we want hash keys

to match across different languages (e.g. if there was

a build cache client written in C++), though that is

unlikely, as the cache key created by such a different

environment would probably not match anyway.