Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Move some console functional test coverage to `logging` to live with the other console test coverage. Also add more coverage for the reporting of the build result at the end of the build (actionable tasks, and so on).

Move registration of tooling api build operation listeners to earlier in the build pipeline.

Clean up some test fixtures.

Set default value to annotationProcessorGeneratedSourcesDirectory

This also fixes the documentation for the options.annotationProcessorPath

default value.

Fixes #4956

Signed-off-by: Thomas Broyer <>

Moved tracking of rejected versions to `SelectorState`

Track unmatched versions in SelectorState

Previously, when resolving a selector we were registering the unmatched

versions at the component level. The `ComponentState` would keep a map

of selector -> unmatched versions, which would later be reconnected to

the original selector.

With this change, the unmatched versions are kept with the `SelectorState`

until required to form a component selection reason. This simplifies the

logic and reduces the number of collection copies required.

Merge branch 'release'

Publish 5.0-20181028000033+0000

Publish 5.0-20181027205306+0000

Merge pull request #7488 from gradle/oehme/memory-limits

Limit metaspace used by the daemon

Limit metaspace used by the Gradle daemon

Our integration tests still need too much metaspace because

we never clean up buildSrc/script classloaders. This is a problem

in our tests since we create hundreds of projects, all with different

directories. For our end users this is probably not as bad, but we

should still fix it soon.

    • -1
    • +1
Close classloaders when using classloader isolation workers

Fix metaspace leak in ShutdownHookActionRegister

This class added a shutdown hook and never removed it,

which created a classloader leak whenever it was used

in an embedded context, e.g. in the in-process Groovy


The approach of having a single hook with multiple actions

seems like a premature optimization. Creating a Thread object

is not expensive, starting it is. The class now just serves

as a convenience for adding/removing shutdown hooks, but creates

one thread per hook, so it can be correctly removed again.

Fix classloader leaks in Groovy

We already had some workarounds for the ClassInfo

classloader leak introduced in Groovy 2.4. It is still

there in Groovy 2.5, but the class has slightly changed,

so our workaround needed some adjustments.

There was another yet undetected leak related to our use of

the GroovyShell in the ApiGroovyCompiler. Whenever the shell

is used, it would register a PreferenceListener and never

remove it, leaking the whole classloader that loaded this

GroovySystem. Removing this listener unfortunately required

doing yet another illegal reflective access, so hopefully

this can be fixed on the Groovy side in the future.

Use no isolation for incubating API report

Classloader isolation requires extra metaspace and is

very slow at the moment. We don't actually require any

isolation, so this should make our build just slightly


Create a dedicate registration point for the scan plugin's end of build callback (#7542)

Merge remote-tracking branch 'origin/sg/scala/play24routes'

* origin/sg/scala/play24routes:

Use JavaConversions instead of JavaConverters

Fix to work on older versions of Scala too

Interpret result of Play routes compilation

Adapter Routes compiler for Play 2.4+

Publish 5.0-20181027000029+0000

Use JavaConversions instead of JavaConverters

Test forced dynamic version (and fix bug in insight)

Fix to work on older versions of Scala too

Merge branch 'ew/pr/6317' into release

Update docs side navigation to include new chapters and reorganize

    • -38
    • +49
Fix typo in test name

Interpret result of Play routes compilation

Play 2.4+ no longer returns a simple Boolean for compilation

For older versions of Play, we continue to check for Boolean.

For newer versions of Play, we decompose the Either[Seq[RouteCompilationError], Seq[File]]

Use up-to-date step

Avoid additional parameter and method call

ResolvedComponentResult extends ComponentResult

This refactor does not change the API signature for `ResolvedComponentResult`,

but ties it to the existing supertype.

Remove nearly all current caching

Update wrapper to latest release-nightly

Signed-off-by: Paul Merlin <>

    • -1
    • +1