Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Convert `settings.gradle` to the Kotlin DSL (#3790)

- `apply { from(...) }` already resolves paths against `settingsDir`

- Clarify project directory name derivation from project name

- Include `*.gradle.kts` files in source distribution

Add test case to show precedence of variant attributes over component attributes

Add minified dependency on fastutil

Fastutil ( is an excellent

library for memory-efficient and fast collections. Gradle has

many algorithms that could benefit from these more efficient

data structures.

Since the library is huge (16MB), this change introduces a dependency

transformation that can minify external JAR files to only the classes

we need. This could be useful for shrinking the Gradle distribution

in general.

This commit only adds the classes necessary to make IntOpenHashSet

work, which will be used in a subsequent commit to make our incremental

Java compiler more memory efficient.

Signed-off-by: Stefan Oehme <>

    • -0
    • +56
    • -222
    • +4
    • -0
    • +312
    • -0
    • +76
Rebaseline Android performance tests

The k9mail tests are slower in CI, but seem to be faster locally or

when running an ad-hoc test.

Convert test name to strings

Signed-off-by: Daniel Lacasse <>

Introduce the binary container to XCTest plugin

Signed-off-by: Daniel Lacasse <>

Changed the Swift library plugin so that the set of target linkages for a library cannot be changed once the plugin has started to calculate the binaries to create for the library.

Added a `ListProperty` implementation whose value can be 'locked' so that it cannot be changed any further. Does not attempt to make the elements of the value immutable, however.

Changed `SwiftBinaryContainer` to apply a `Spec` to the elements once only prior to their configuration, and to reuse the result of matching a given `Spec`.

Removed unused variable.

Transfer ownership of setting the development binary to the plugin

Signed-off-by: Daniel Lacasse <>

Support static library as development binary

Signed-off-by: Daniel Lacasse <>

Migrate `developmentBinary` to a `Provider`

Signed-off-by: Daniel Lacasse <>

  1. … 4 more files in changeset.
Merge pull request #3802 from gradle/lacasseio/native/spike-shared-static

Add support for static libraries variant

Polish buildInit integration tests

Implement navigation for user guide

This replaces the "chunk-element-content" XSL template with a

custom one that injects side navigation in the userGuideHtml.xsl


A hidden meta widget is included in the custom stylesheet that

saves us an HTTP request when this goes live.

Issue: gradle/dotorg-docs#55

Signed-off-by: Eric Wendelin <>

    • -60
    • +224
No need to resolve fonts during build anymore.

Signed-off-by: Eric Wendelin <>

Make PlatformScalaCompile Cacheable. Issue:#3648

Signed-off-by: Devi Sridharan <>

Deprecate TaskInputs.getProperties()

This method exposes internal state that is expensive to maintain.

There should be no need to query properties from user code, and

declaring new ones can be achieved via the property() and

properties() methods.

Signed-off-by: Lóránt Pintér <>

    • -1
    • +2
Merge pull request #3787 from gradle/lptr/build-cache/calculate-task-properties-once

Resolve task properties only once

Move module map generation to the consumer side

  1. … 10 more files in changeset.
Apply the `kotlin-dsl` plugin to `buildSrc`

The `kotlin-dsl` plugin

- applies the `org.jetbrains.kotlin.jvm` plugin,

- configures an embedded repository that contains all Kotlin libraries embedded into Gradle,

- and pins them to the embedded Kotlin version,

- it also adds compile only dependencies on `kotlin-stdlib` and `kotlin-reflect`,

- and adds the `gradleKotlinDsl()` dependency to the `compileOnly` and `testRuntimeOnly` configurations,

- and configures the Kotlin DSL compiler plugins

This commit also includes changes to:

- gradle/compile.gradle

- gradle/strictCompile.gradle

Those scripts assumed all `AbstractCompile` tasks to have an `options`

property. This is not the case. Java, Groovy and Scala compilation tasks

do, but the KotlinCompile tasks now present in `buildSrc` don't.

gradle/compile.gradle now target only the tasks we are interested by, that is Java and Groovy compilation tasks.

There are no scala compilation tasks in the Gradle build itself.

Signed-off-by: Paul Merlin <>

Deprecate TaskOutputs.getHasOutput

This method expose internal state that is expensive to maintain.

Instead of using it, user code can rely on declared task properties.

Signed-off-by: Lóránt Pintér <>

    • -0
    • +1
Slightly simplify attribute matching

We don't need to check compatibility when

adding implicit matches, as they can only

make a variant more compatible, not less


Signed-off-by: Stefan Oehme <>

Merge pull request #3789 from gradle/lptr/core/deprecate-task-inputs-has-input-and-source-files

Deprecate TaskInputs query methods

Make MatchDetails slightly more efficient

Only allocate the maps for explicit/implicit

matches when there actually are some. Start

with a small number of expected matches, but

grow quickly to guarantee fast lookups.

Signed-off-by: Stefan Oehme <>

Make ResolveState slightly more efficient

Use ArrayDeque instead of LinkedList for

less memory usage and better cache locality.

Signed-off-by: Stefan Oehme <>

Make CachingDirectedGraphWalker slightly more efficient

Replace LinkedList with ArrayList/ArrayDeque for less

memory usage and better cache locality.

Signed-off-by: Stefan Oehme <>

Discover task dependencies via Buildable task inputs

When registering task input files that implement Buildable and Iterable<File>,

now task dependencies are discovered via getBuildDependencies().

Signed-off-by: Lóránt Pintér <>