Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Apply `Anonymous type can be replaced with lambda` inspection the whole project

  1. … 666 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

  1. … 909 more files in changeset.
Clear accepted public api changes

  1. … 1 more file in changeset.
Organize imports

  1. … 339 more files in changeset.
Replace anonymous classes with lambdas

  1. … 711 more files in changeset.
Replace anonymous classes with lambdas

  1. … 695 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 897 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Use the `DomainObjectCollectionFactory` everywhere

  1. … 39 more files in changeset.
Use the `DomainObjectCollectionFactory` everywhere

  1. … 39 more files in changeset.
Remove some direct usages of `ClassGenerator` and `DirectInstantiator` from outside of the `Instantiator` infrastructure.

  1. … 3 more files in changeset.
Decorate all domain collection container for emitting build ops (#7876)

* Update all domain object container with decorator for tracing executed callback actions

* Add decorator to a ll required occurances of DefaultDomainObjectSet

* Keep ctor for DefaultPolymorphicDomainObjectContainer as its used in gradle-idea-ext plugin

* Bring back DefaultDomainObjectSet constructor used by the android plugin

* keep backwards compatibility

  1. … 122 more files in changeset.
De-incubate 2.x native tasks/plugins/model

  1. … 150 more files in changeset.
Separate `ITaskFactory` from `NamedEntityInstantiator<Task>` so that the instantiator is applied as a decoration over the factory.

  1. … 37 more files in changeset.
Partially push instantiator through all containers

  1. … 33 more files in changeset.
Merge branch 'release'

  1. … 7 more files in changeset.
Replace usages of org.gradle.api.Nullable

With javax.annotation.Nullable.

  1. … 460 more files in changeset.
Moved ObjectInstantiationException to public API

This avoids leaking an internal exception type through the

ObjectFactory.newInstance API.

  1. … 26 more files in changeset.
Revert De-duplicate commonly used immutable objects in dependency resolution and IDE changes

Commits reverted:

- 807b1e4f8d1585d93c1de3e9ca83d99d0819e2d2

- 9482b0b05374253cafdb776550d7016385912e04

- 4ecead06b53ec6b0f15c517bf0d0c6a74c3b3c05

- db1135a8a5f1c507e0df3c03ad12ddc963799e4d

- 7350bcbae30a777909cec74ebfd5a91d2c89081e

Additionally, minor changes to avoid usage of introduced

classes and methods from subsequent commits.

Issue: gradle/gradle-private#563

  1. … 109 more files in changeset.
De-duplicate (= intern) some instances in dependency resolution

- Reduce memory usage of dependency resolution by de-duplicating the

most commonly used immutable instances.

- Objects aren't strictly immutable: displayName is calculated lazily

- solution is thread-safe without synchronization

- lazy calculation is needed for efficient interning since a lookup

will always create a new instance.

- Use strong references in some instance interners

- strong references cause less GC overhead than weak references

- Strong references:

DefaultModuleIdentifier

DefaultModuleVersionIdentifier

DefaultModuleVersionSelector

DefaultModuleComponentIdentifier

DefaultModuleComponentSelector

DefaultProjectComponentSelector

- Weak references:

DefaultLibraryBinaryIdentifier

DefaultLibraryComponentSelector

DefaultIvyArtifactName

- Both reference types:

DefaultBuildIdentifier

DefaultProjectComponentIdentifier

- The reason for special handing is that DefaultBuildIdentifier

has a state field "current" as part of the instance which

isn't part of equals/hashCode.

+review REVIEW-6277

  1. … 104 more files in changeset.
Fixed static fields that should be final.

This commit fixes a number of static fields that were not declared final, although never updated.

  1. … 22 more files in changeset.
Remove `ModelReference` interning

- interning, while reducing memory usage, also has a clear impact on performance of task creation

- task creation is now 5% faster

- compensates some of memory usage increase by optimizing model creation

+review REVIEW-5852

  1. … 10 more files in changeset.
Cleaned out a bunch of TODOs

  1. … 30 more files in changeset.
Add @Override where missing in production software model sources

Prior to this change, the affected submodules had 2044 occurrences of

the @Override annotation. With this commit, there are now 3492

occurrences. This suggests some divergence in IDE settings, either

across developers, across time, or both. At the moment, it appears that

IDEA (15 CE) is configured correctly to add @Override automatically.

This same refactoring should probably be done globally acrosse the

Gradle codebase, but has been constrained here to software model-related

submodules (a) because it is what the author is responsible for and (b)

because significant refactoring of type hierarchies is underway there

right now--the kind of work most likely to benefit from the compiler

checks that proper use of @Override affords.

Should this same refactoring be applied globally, it would be worth

looking into enforcing consistent use of @Override via checkstyle or

similar at the same time.

  1. … 419 more files in changeset.
Rename Buildable{ModelElement => ComponentSpec}

This rename better reflects the fact that (the former)

BuildableModelElement now extends ComponentSpec, and in the process

helps to eliminate the unnecessary concept of "model elements" in favor

of referring to everything in terms of components and component specs.

Javadoc in BuildableComponentSpec and certain parameters and member

variables in AbstractBuildableComponentSpec have also been updated and

renamed for clarity and consistency.

  1. … 25 more files in changeset.
Pushed up the special case handling of display name for nested components from where it used to live on `BaseBinarySpec` to `AbstractComponentSpec`.

Produces a more meaningful display name, and flattened names (eg task names) that are less likely to conflict but that are uglier.

  1. … 13 more files in changeset.
Replace `@BinaryType` and `@LanguageType` with `@ComponentType`

The original annotations have been retained for the purpose of

deprecation but they no longer work.

  1. … 64 more files in changeset.