Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates

Polish documentation for GradleSystem.getenv()

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.

Merge pull request #6052 from gradle/eskatos/task/logger

Let task logger be replaceable temporarily

Merge pull request #6013 from gradle/lptr/core/upgrade-to-groovy-2.4.15

Use Groovy 2.4.15

Avoid calling File.listRoots()

This is now incredibly expensive on Windows 10,

taking up to several seconds per call.

Instead we simply check whether the scheme is an

existing folder, e.g. `C:`

Merge pull request #6031 from gradle/wolfs/file-system-mirror/separate-historical-fingerprint

Separate {Current,Historical}FileCollectionFingerprint

Rename variable

Rename some more snapshots -> fingerprints

  1. … 8 more files in changeset.
Remove unused import

Re-baseline Gradle build performance tests

    • -1
    • +1
Remove now unnecessary comment

fix integration test after minor renaming

Deprecation progress events are enriched to allow better visualisation (#6034)

Update deprecation model; tweak deprecation messages

* some renamings in feature usage

* introduce feature usage type

* introduce contextual advice for deprecation messages

  1. … 14 more files in changeset.
Add missing import

Address review feedback

Merge pull request #6043 from gradle/ldaley/repository-descriptor

Reduce performance cost of repository descriptors by caching

Merge branch 'master' into ldaley/repository-descriptor

Merge pull request #6037 from gradle/oehme/incremental-compile/package-info

Recompile types in a package if its package-info changes

Merge pull request #6032 from gradle/oehme/incremental-compile/module-info

Recompile when module-info files change

Support HTTP header based authentication for Maven repositories

Now it's possible to use a custom HTTP header to authorize access to

Maven repositories. This enables Gradle to access private GitLab and TFS

repositories used as Maven repositories or any OAuth2 protected Maven


Resolves #5571.

    • -0
    • +6
    • -0
    • +44
    • -0
    • +38
    • -0
    • +5
  1. … 16 more files in changeset.
Cache repository descriptors to reduce overhead

Remove unused

Increase WorkerExecutorParallelIntegrationTest timeout to 120s

We observed some timeouts on EC2 agents. Now try to increase the timeout.

Separate defineClass and decorateClass (#6028)

After is merged, I was surprised that the illegal reflective access warnings still appear:

> Illegal reflective access using Lookup on org.gradle.internal.classloader.ClassLoaderUtils

It turns out that a lookup object which is accessible to the target class class loader must be provided. For example, if we want to invoke `MyClassLoader.defineClass` via `Lookup`, we must provide a lookup object from `privateLookupIn(MyClassLoader.class)`, not `privateLookupIn(ClassLoader.class)`. Otherwise, we'll get the warning and potential failure in the future.

See more information in the

Also, this PR does a tiny improvement: it uses `Lookup.defineClass` as much as possible. `Lookup.defineClass` is expected to replace `Unsafe.defineClass` by JDK team, but `Lookup.defineClass` has a limitation: it can only `defines a class to the same class loader and in the same runtime package and protection domain as this lookup's lookup class`. If we're decorating a class, this is gonna be fine and we use this API, otherwise we use `Lookup` to invoke `ClassLoader.defineClass` as a fallback.

Use latest Gradle nightly to build

    • -1
    • +1
Use Groovy version from running Gradle instance

Remove `repositoryName` from `ModuleSource` API

- Using `ModuleSource` to transport the repository name is a bit of a

mis-use of this type, which was intended to be an opaque memento of

resolution state. (Despite the name indicating otherwise).

- This commit removes `repositoryName` from the API:

This is now only available on the `RepositoryChainModuleSource`,

which attaches a repository identifier to the resolved component result

(in order that it can later look for artifacts in the same repository only).