Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Removed `ChildComponent` concept, as it is not required.

  1. … 11 more files in changeset.
Changed the module metadata file to include the dependencies for each variant. Currently only the group, module and version properties of each dependency is included. Other information such as exclusions, artifacts and so on are not included. These may be added later.

Changed the version of the format to '0.2'.

  1. … 8 more files in changeset.
Fixed the name of the 'usage' attribute in generated module metadata file so that it matches that used by the C++ and JVM plugins.

  1. … 1 more file in changeset.
Changed dependency resolution to parse the Gradle module metadata file if present. The result (except for a failure) is ignored for now.

  1. … 8 more files in changeset.
Initial changes to dependency resolution to use the Gradle module metadata file when present. The file is downloaded and cached when present, but not used yet.

Added a temporary internal flag on `MavenRepository` to enable this behaviour, which is disabled by default. The C++ plugins switch this on.

  1. … 14 more files in changeset.
Include the list of files for each variant of a component in the generated Gradle metadata file included in a published Maven module.

  1. … 8 more files in changeset.
Include the list of variants for a component in the generated Gradle metadata file included in a published Maven module.

  1. … 12 more files in changeset.
Fixed unit test on Windows.

Changed the `maven-publish` and `ivy-publish` plugins to do a better job of calculating the coordinates to use to represent a project dependency in the generated metadata files. Previously, the plugins would fail when there were multiple publications in the target project with different coordinates. Now, the plugins will ignore publications that contain the variants of some other component that is included in another publication.

The C++ plugins use this to inform the publishing plugins (and whatever else cares) which publication is the 'main' publication of the project. The main publication holds details of the component as a whole and is intended to be the 'entry point' for the component.

Using this allows a not-quite-correct workaround to be removed from the C++ plugins and that project dependencies are mapped to coordinates in a consistent way for both C++ and Java components, by shared logic.

  1. … 7 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:







- Weak references:




- Both reference types:



- 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.
Revert "Removed `ExtensionContainerInternal` type. It is not used for anything."

This reverts commit 7cbf09e12965fd07c12d4f2fd2600da87c7a25f2 which

caused problems for plugins using `ProjectInternal`.

  1. … 5 more files in changeset.
Removed `ExtensionContainerInternal` type. It is not used for anything.

  1. … 5 more files in changeset.
Fix some tests that were leaking file handles

  1. … 18 more files in changeset.
Don't use common parent class for now

  1. … 12 more files in changeset.
Introduce test fixture of tests using ProjectBuilder

Automatically uses and cleans up temporary project directory.

  1. … 13 more files in changeset.
Make DirectInstantiator a singleton.

  1. … 89 more files in changeset.
Deprecate PluginContainer.apply(Class) and PluginContainer.apply(String)

+review REVIEW-5239

  1. … 101 more files in changeset.
register a "logical" publication whenever a publication is added to `publishing.publications`

  1. … 1 more file in changeset.
renamed HelperUtil to TestUtil (REVIEW-1626)

  1. … 145 more files in changeset.
Merge remote-tracking branch 'remotes/origin/release'

  1. … 11 more files in changeset.
GRADLE-2837: Ensure that a dependency project is fully evaluated before it is used by a referencing project in publishing

  1. … 4 more files in changeset.
Replaced PublicationCoordinates with ModuleVersionIdentifier.

  1. … 8 more files in changeset.
Project dependencies map to a single publication of the depended-on project - For single publication, use it - For multiple publications, fail unless all publications have the same coordinates - For no publications, use the project coordinates - Added ProjectDependencyPublicationResolver to do the work of determining the coordinates to use for a project dependency

  1. … 20 more files in changeset.
Switch PublicationContainer to use new Polymorphic container infrastructure

  1. … 21 more files in changeset.
REVIEW-924: Made exceptions emitted by PublicationContainer consistent with other container types

  1. … 3 more files in changeset.
Don't use custom exception type where not necessary (REVIEW-924)

  1. … 2 more files in changeset.
Use a single integration test for checking error reporting, and separate unit tests for each error condition (REVIEW:924)

  1. … 1 more file in changeset.
Added GroovyPublicationContainer that extends DefaultPublicationContainer and adds support for publication DSL - Need to review if this is the right way to implement this, and if this should be made into a more generic feature on NamedDomainObjectContainer

  1. … 37 more files in changeset.
Remove ignored test method.