Gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Propagate task dependencies for public headers through dependency management

Skip flamegraph generation when scenario was ignored

Merge pull request #5088 from gradle/marc/issues/5034-5035-config-exclusions

Publish configuration-wide excludes in POM and Gradle module metadata

Merge pull request #5084 from gradle/guy/remove-gradle-build-internal-repo

Remove gradle-build-internal repository

Merge pull request #5018 from gradle/oehme/publishing/lazy-maven-publication

Make MavenPublication/MavenArtifact lazy

Merge pull request #5104 from gradle/oehme/performance/profile-tapi-tests

Make TAPI performance tests profilable

Merge pull request #5082 from gradle/lptr/core/rename-immutable-file-collcetion-methods

Rename ProjectLayout methods

Improve naming

Merge pull request #5073 from gradle/oehme/performance/indexed-snapshot

Make IndexedNormalizedFileSnapshot#compareTo efficient

Merge pull request #5074 from gradle/oehme/performance/gradleApi

Make gradleApi() method more efficient

Make TAPI performance tests profilable

Rebaseline Android Studio performance test

The last baseline didn't include all of the changes

that led to the slight regression, so the test was still

failing.

Evaluate signature file location lazily

The artifact to sign could still change and the signature

depends on its path. Evaluate it lazily so artifacts can be

configured until the task graph is built.

Add descriptions to Sign tasks for configurations/publications/tasks

Resolves #5093.

Query published artifact coordiantes lazily

This is another step towards removing DeferredConfigurable.

Instead of eagerly evaluating archive tasks and other artifacts,

query their properties only when we actually want to publish.

Make derived artifacts optional when publishing

Fixes #5099.

Make MavenPublication.from(SoftwareComponent) lazy

This prevents the software component from being read too early,

e.g. when configuring signing.

Previously any access of a publication resulted in the component

being read and any further modifications to it being ignored.

This is also a prerequisity for removing DeferredConfigurable.

Make MavenProjectIdentity live

This way the coordinates are only evaluated when needed.

Previously they were evaluated when a publicaiton was created.

Lots of users had worked around it by re-setting the values

to what should already be the defaults later.

Merge pull request #5071 from gradle/oehme/performance/cached-resource-lookups

Cache resources in caching classloader

Merge pull request #5072 from gradle/oehme/performance/external-module-lookup

Cache external module lookups

Merge pull request #5083 from gradle/oehme/performance/faster-mirror

Make mirror init script faster

Use umodifiable list in DefaultClassPath

This makes accidental mutation impossible and reduces some

of the repeated wrapping.

  1. … 23 more files in changeset.
Update Gradle perf baseline to commit that does not use snapshot build scan plugin

    • -1
    • +1
    /subprojects/performance/templates.gradle
Replace locking with concurrent map

DependencyClassPathNotationConverter didn't need pessimistic locking

as the protected operation is not expensive. Use a concurrent map instead.

Remove ext-releases-local repo as its included in the libs-releases repo

Defer gradleApi classpath lookup to execution time

It is only needed when the gradleApi file collection is constructed.

Restore correct locking in DependencyClassPathNotationConverter

This was broken when making the creation lazy, protecting the

creation method (which needs no lock) instead of the cache access

(which does need a lock).

Replace gradle-build-internal with ext-releases-local repo

Remove gradle-build-internal repository

Rename immutable file collection methods

* `ProjectLayout.filesFor()` -> `files()` (we already have `file()` and we are replacing `Project.files()`, moreover the `For` suffix doesn't seem to add anything)

* `ProjectLayout.mutableFilesFor()` -> `configurableFiles()` (the result is of type `ConfigurableFileCollection`, and we regularly use "configure" as a term in our public APIs, while we don't use "mutate")