Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make query methods for deprecation state of core configurations public

This is to allow plugin authors to make use of this information.

The methods to actually deprecate configurations stay internal,

as they are bound to the deprecation mechanism of Gradle core.

And thus they may only be used for configurations of Gradle's core

plugins.

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 12 more files in changeset.
Make query methods for deprecation state of core configurations public

This is to allow plugin authors to make use of this information.

The methods to actually deprecate configurations stay internal,

as they are bound to the deprecation mechanism of Gradle core.

And thus they may only be used for configurations of Gradle's core

plugins.

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 12 more files in changeset.
Fix missing argument in test

    • -1
    • +2
    ./insight/DependencyInsightReporterSpec.groovy
Fix missing argument in test

    • -1
    • +2
    ./insight/DependencyInsightReporterSpec.groovy
Exclude deprecated configurations from reports

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 7 more files in changeset.
Exclude deprecated configurations from reports

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 7 more files in changeset.
Exclude deprecated configurations from reports

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 7 more files in changeset.
Exclude deprecated configurations from reports

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 7 more files in changeset.
WIP - adjustments + handle annotation processor configurations

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 22 more files in changeset.
WIP - adjustments + handle annotation processor configurations

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 24 more files in changeset.
WIP - adjustments + handle annotation processor configruations

    • -3
    • +3
    ./dependencies/AsciiDependencyReportRendererTest.groovy
  1. … 22 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. … 890 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.
Initial support for optional features

This commit introduces initial support for optional features, by

implementing a way for a dependency declaration (currently *only* in

the DSL) to request variants of the target component that provide one

or more capabilities.

Previously to this change, selection was (simplified) done like this:

1. find the target component

2. select the variant of the target component which matches the requested

attributes

Now, selection introduces another step:

1. find the target component

2. filter variants by eliminating those which do not provide the requested

capabilities

3. select the variant in this list which matches the requested attributes

Several changes had to be implemented:

First, component metadata rules calling `addCapability` will now return

a component which capabilities _include_ the default capability.

Second, attribute filtering is done in a secondary step, which means that

if there are no variant matching the requested capabilities, we will immediately

fail.

    • -1
    • +1
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 58 more files in changeset.
Support depending on multiple variants of the same component

This commit changes the resolution engine so that it is possible

to resolve multiple variants of the same component when using

variant-aware dependency management.

Before, in order to have 2 dependencies on the same component

but using different variants, one had to use explicit configuration

dependencies. Now, with this change, it is possible to have

two dependencies on the same component, but with different attributes.

Those components would resolve to different variants.

Special treatment is applied when attributes are declared on constraints:

in this case, we _merge_ the constraint attributes, and make sure that

the edge is computed using the merged attributes. Should they be

incompatible, the build would fail as before.

    • -4
    • +4
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 29 more files in changeset.
spelling: dependency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Signed-off-by: Bo Zhang <bo@gradle.com>

    • -1
    • +1
    ./insight/DependencyResultSorterSpec.groovy
  1. … 2 more files in changeset.
Add option to display tasks from a specific group only

Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>

    • -2
    • +24
    ./AggregateMultiProjectTaskReportModelTest.groovy
  1. … 2 more files in changeset.
Add 'constraint' property to dependencies in ResolutionResult

It's important to be able to differentiate between hard dependencies and

dependency constraints when analysing the resolution result. This was done

by adding a simple boolean property to `DependencyResult`, indicating if

the source of the edge was a dependency or a constraint.

The new API is not yet used in any dependency reporting.

    • -5
    • +5
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 16 more files in changeset.
Fix tests

    • -1
    • +1
    ./dsl/DependencyResultSpecNotationParserSpec.groovy
  1. … 2 more files in changeset.
Add support for filtering repository content based on the module identifier

This commit allows "matching repositories to dependencies" by adding an API

on repositories to declare if we should look for a module or not. Currently

the API only supports querying by module identifier, and blacklisting. In

other words the API lets you tell when _not_ to look for a module.

    • -1
    • +1
    ./dsl/DependencyResultSpecNotationParserSpec.groovy
  1. … 8 more files in changeset.
Return immutable `ComponentSelectionReason` where appropriate

    • -2
    • +2
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 9 more files in changeset.
Renamed `VersionSelectionReasons` -> `ComponentSelectionReasons`

    • -9
    • +9
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 30 more files in changeset.
Fix tests for changed reporting

    • -1
    • +1
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 1 more file in changeset.
Add support for emitting information about repositories used during configuration resolution process, and sourced repository for a component (#5959)

- `ResolveConfigurationDependenciesBuildOperationType.Details` now contains a `List<Repository>` eventually provided by all `ResolutionAwareRepository` implementations

- `ResolvedComponentResult` has been subclassed to `ResolvedComponentResultInternal`, to provide the `repositoryName` used as source. This can be `null` in case of project dependency.

- Note that even when artifacts are resolved from the cache, they still convey the original repository that was used as source. The `name` of a repository is guaranteed to be unique inside a given repository container, and we use a single repository container to resolve a given configuration. Hence, the name can be safely used to uniquely identify which repository was used to source components.

- This commit also moves custom serialization logic to the owning type of `SerializedOperation` implementations to their owning types

    • -17
    • +17
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 52 more files in changeset.
Normalize `ModuleIdentifier`

This commit reworks the `ComponentModuleIdentifier`/`ComponentModuleSelector`/`ModuleVersionSelector`

classes to use `ModuleIdentifier` under the hood, instead of storing denormalized strings. This has

the advantage that we can reduce the use of the module identifier factory, which is called very

often during dependency resolution. Sharing instances reduces the need for conversions, and makes

comparisons faster.

    • -8
    • +9
    ./graph/nodes/AbstractRenderableDependencyResultSpec.groovy
    • -1
    • +2
    ./graph/nodes/RenderableDependencyResultTest.groovy
    • -5
    • +6
    ./graph/nodes/RenderableUnresolvedDependencyResultTest.groovy
    • -6
    • +7
    ./insight/DependencyInsightReporterSpec.groovy
    • -61
    • +71
    ./insight/DependencyResultSorterSpec.groovy
  1. … 159 more files in changeset.
Lazily create component selection reason descriptors

With the gathering of all component selection reasons, we introduced a performance regression

related to the creation of the descriptors. Most of them are due to strings being eagerly

constructed. However, not all of them are necessary: only the ones for the components which

will actually be selected in the graph. For this reason, this commit changes the implementation

of the component selection reason to use `Describable` instead of `String` for descriptions.

    • -1
    • +2
    ./insight/DependencyInsightReporterSpec.groovy
  1. … 14 more files in changeset.