Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Compare root hashes for up-to-date checks

Remove `afterEvaluate` from lazy task configuration

Intern class names when reading back from the cache

We intern class names when we analyze classes, but until

now we did not intern them when reading back from the on-disk

cache. This meant that builds with pre-existing caches would

have much higher memory footprint, just like builds that exceed

the in-memory size limit. With this change all builds now have

the same low footprint.

Use `ThreadLocal` for thread safety

Mention the lazy task configuration breaking change in release notes

    • -0
    • +11
Improve the exception context

Document integration with Plugin Publishing Plugin

- Mention how configured plugins are used by `plugin-publish`

- Link to Plugin Portal Publishing guide for additional details

Issue: #5987

Set jdkName for idea configuration

Improve Writing Custom Plugins chapter

- Link to Plugin Portal guide

- Link to section about Plugin Marker artifacts

- Use sample that shows `gradlePlugin` DSL for same plugin id

- Use `maven-publish` instead of `maven` for publishing locally

Always calculate Merkle directory trees

Use getContentHash instead of getTreeHash

Merge pull request #6060 from gradle/oehme/performance/pattern-specs

Simplify PatternSpec caching


Polish documentation for GradleSystem.getenv()

Merge pull request #6035 from gradle/marc/issues/6024-cache-cleanup-progress-reporting

Report progress for cache cleanup

Fix ArchUnit MalformedURLException on Windows

Signed-off-by: Dave Smith <>

    • -1
    • +1
Strict constraints now reject both lower and higher versions

A strict version constraint is implemented by preferring any version in the

declared range, and rejecting other versions. Rejecting of lower versions happens

naturally through the `LatestModuleConflictResolver`.

With this change, the rejection of lower versions becomes explicit, instead of

building a range higher than a strict constraint and rejecting that, we instead

create a 'inverted' VersionSelector that will matches the exact complement of

the `strictly` version selector, and reject that.

This change will later permit us to remove the implicit 'reject all lower'

constraint in our resolution engine.

Strict version constraints are now rendered as 'strictly' in error messages.

Add more coverage for 'strict' dependency versions

Simplify PatternSpec caching

Instead of one global cache that all patterns share,

there is now one cache per pattern. This removes the need

for an extra cache key object and also makes each cache

smaller. Together this reduces memory usage and speeds up


Allow module test fixtures to generate metadata with 'strictly' constraints

Retain separate versions for 'strictly' and 'prefers'

Previously, a `strictly` version constraint was translated into a separate

'prefer' and 'reject' constraint: this is how it was processed internally,

as well as how it was represented in a `.module` file.

With this change, strict version constraints are logically retained as a

first class version constraint:

- `.module` files can have versions declared with `strictly`

- Strict constraints are only translated to a reject version selector

as part of resolution (not when parsing the constraint)

  1. … 11 more files in changeset.
Merge pull request #6057 from gradle/oehme/performance/file-hasher-interning

Intern Strings when read from the backing store of the file hasher

Merge pull request #6050 from gradle/oehme/performance/uri-notation

Avoid calling File.listRoots()

Intern Strings when read from the backing store of the file hasher

We were interning the strings when putting them into the in-memory cache,

but when that cache got full it would start discarding entries and later

loading them from the backing store. The load operation would return a

non-interned String, resulting in much higher memory pressure. This is

now fixed by using an interning serializer.

Update wrappers to latest snapshot distro

    • -1
    • +1
  1. … 24 more files in changeset.
Let the `kotlin-dsl` plugin handle the Kotlin DSL dependencies

The previous setup was adding multiple gradle-kotlin-dsl jars to the

classpath causing the Kotlin compiler with the new type inference

engine enabled to fail on some of the overloads.

Expect deprecation warnings in kotlin scripts.

This is necessary until gradle/kotlin-dsl uses kotlin 1.2.60

#Pleas enter the commit message for your changes. Lines starting

Add tasks.add() deprecation to the release notes

    • -0
    • +4
Use a deprecation warning for TaskContainer.add() and addAll()

Fix links to docs in Javadoc for TaskContainer

    • -1
    • +4
    • -0
    • +41
    • -0
    • +53