Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Fix duplicate reasons appearing in report

Merge pull request #5650 from gradle/wolfs/jmh-plugin-upgrade

Update jmh plugin version

Update jmh plugin version

This fixes overlapping outputs between `jmhRunBytecodeGenerator` and


Require daemon to be used when running Gradle via msbuild

We derive the Gradle environment used by msbuild when we generate the VS metadata.

When running from our embedded executor, we would experience 2 minute "hangs" where

msbuild waits for the Gradle daemon to exit.

Merge pull request #5641 from gradle/sg/lazy/perf-eagerVSlazy

Add performance build comparing lazy vs eager

Merge pull request #5642 from gradle/sg/lazy/remove-createLater

Remove createLater completely

Enable task creation stats for build scan plugin performance tests

Avoid sorting versions when serializing results

We can avoid sorting versions by making sure we use an order-preserving

multimap. Sorting is quite expensive, especially because it's done during

serialization of the result.

Use a string deduplicating encoder for resolution result

A dependency graph will often contain the same strings replicated

a number of times (same group, same version, same reason, ...). So

in order to reduce the time spent reading/writing, we can use a

serializer which will perform deduplication.

Merge pull request #5609 from gradle/gh/lazy-tasks/archive-artifact

Allow archive artifacts to accept lazy task providers

Merge pull request #5644 from gradle/bamboo/idea-extension-public-type

Let `IdeaPlugin` declare public type of `idea` extension

Merge pull request #5643 from gradle/bamboo/kotlin-dsl/CacheKey-plus-HashCode

Let `CacheKeyBuilder` accept `HashCode` components

Use newer commit for baseline since the method name changed

    • -1
    • +1
minor polish

fix unit test after renaming

Emit build operation for executing taskgraph whenReady hooks (#5647)

Emit build operation for executing taskgraph whenReady hooks

Avoid using a caching substitution applicator when possible

The caching dependency substitution applicator is expensive, as it

needs to remember about all selectors in a hashmap. But often, there

are no substitution rules whatsoever. In this case, we can avoid the

creation of the cache and short-circuit the application.

Avoid usage of `LinkedHashMap` during selector resolution

When we resolve the list of selectors, we don't need to use a costly

hashmap: instead, we can just use a fixed size list, and perform in

place updates. This consumes less memory and is faster.

Always configure heap dump path

It no longer depends on the user home of the test.

Merge pull request #5645 from gradle/oehme/testing/fix-daemon-reuse

Make daemons with different user home compatible again

Remove unused import

Signed-off-by: Paul Merlin <>

Make daemons with different user home compatible again

Putting the user home into the daemon arguments meant that

tests with an isolated user home were no longer reusing daemons.

This lead to immense memory pressure on the system, crashing test

VMs faster than the daemons could shut down.

Increase default -Xmx to 2g

It has been found that 1g default -Xmx for non-embeded executer is still not

enough under certain circumstances, so we're increasing it to 2g for now.

Decrease iteration times of flaky test gradle-private#1303

This closes

Previously this flaky test iterates 30 times and sometimes timeouts, especially

under NoDaemon executer. This commit changes the iteration times from 30 to 10

to make it more stable as well as less time-consuming.

Only set -Xmx when it's not specified

Previously we set -Xmx for the forked daemon, which might shadow the args

set by the integration test itself. This commit checks the speficied build

arguments to make sure specified -Xmx won't be shadowed.

Fix misplaced @Requires

In previous commit an attempt was made to ignore a test, but it wasn't placed

on the correct test method. This commit fixes that mistake.

Increase Xmx for new integration test daemon JVM

In we made some adjustments which limited

new intrgration test executor daemon Xmx to 512m. It has been found that 512m is not

enough for some integration tests, so we're increasing it to 1g for now.

Let `IdeaPlugin` declare public type of `idea` extension

Assign reasonable size to queue

In order to avoid too many resizes for large dependency graphs,

this commit roughly estimates the size of the queue by the number

of nodes in the graph. Empirical data shows we are very close to


Avoid the creation of a hashmap to build the resolution result

The resolution result can be quite large, and involves a lot of

resizes of the map, just to collect the nodes which have already

been visited. We replace it with an ad-hoc "mark" method which

is a pure optimization.