DefaultComponentMetadataProcessorTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Allow the services required by a given class to be queried prior to creating any instances of that class. Use this to allow `ArtifactTransformDependencies` to be injected into artifact transforms using any of the service injection patterns (that is, via a constructor or a getter).

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 127 more files in changeset.
Replace most direct usages of `DirectInstantiator` with indirect usages via `InstantiatorFactory` or test fixtures instead. This means more consistent behaviour in unit tests because the objects under test will behave more similarly to how they do at runtime. This also allows the decision of how the instantiation should behave to live in as few places as possible, so this can be more easily evolved and contextualized.

    • -2
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 60 more files in changeset.
Move in-memory caches to persistent-cache project

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 50 more files in changeset.
Split off value snapshotting and attributes related methods of TestUtil

    • -8
    • +10
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 64 more files in changeset.
Move ValueSnapshotter and friends to snapshots project

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 54 more files in changeset.
Remove unused improve pom support flags

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 19 more files in changeset.
Support mixing old style and class based rules

The recently addition of class based component metadata rules came with

a limitation in the way old style and class based rules could be mixed.

This commit removes the limitation by allowing mixed addition of each

type of rules, while preserving the execution order based on addition

order.

Fixes #6568

    • -9
    • +65
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 8 more files in changeset.
Add pom support feature to cache key for metadata rules

The IMPROVED_POM_SUPPORT feature preview has a direct impact on metadata

resolution. As such, changing that value must invalidate the component

metadata rule cache.

    • -1
    • +1
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 5 more files in changeset.
Add support for backlinks in dependency graph

A module may declare the platform(s) it belongs to. If it does so, then we implicitly add an outgoing edge

to the platform, allowing us to resolve all dependencies belonging to the same platform consistently. This

allow us to implement _module alignment_, by telling that 2 modules belong to the same platform. In practice,

there are 2 possible cases:

1. the "platform" a module belongs to exists, in which case, an outgoing edge is added to a "published module",

and this module is expected to have constraints onto the other modules of the same platform.

2. the "platform" a module belongs to doesn't exist, for example because the publisher didn't define

such a thing. In that case, a platform can be constructed "adhoc", and we will try to use modules of the same

version as the platform whenever possible.

The second case is significantly more expensive as it forces us to create "virtual" dependencies, and for each

of them we need to check if the target modules exist.

    • -4
    • +6
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 18 more files in changeset.
Refactor ModuleResolveMetadata

Reorganize code in packages, move serialization related code closer to

classes to reduce need of public methods.

    • -2
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 79 more files in changeset.
Refactor ModuleResolveMetadata

Reorganize code in packages, move serialization related code closer to

classes to reduce need of public methods.

    • -2
    • +2
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 79 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.

    • -2
    • +5
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 164 more files in changeset.
Enable service injection in ComponentMetadataRule

This is currently limited to the RepositoryResourceAccessor and is not

available for flat dir repositories.

Fixes #5565

    • -0
    • +141
    ./DefaultComponentMetadataProcessorTest.groovy
  1. … 43 more files in changeset.