Class RootIoCapabilityRule

java.lang.Object
io.root.patcher.RootIoCapabilityRule
All Implemented Interfaces:
org.gradle.api.Action<org.gradle.api.artifacts.ComponentMetadataContext>, org.gradle.api.artifacts.ComponentMetadataRule

@CacheableRule public abstract class RootIoCapabilityRule extends Object implements org.gradle.api.artifacts.ComponentMetadataRule
For every io.root.<G>:<A>:<V>-root.io.N component Gradle resolves metadata for, declare a secondary capability matching the upstream coordinate the patched artifact substitutes for: (<G>, <A>, <V>).

When the unpatched sibling <G>:<A>:<Vmax> also lands in the resolution graph, both variants claim capability <G>:<A>; Gradle's capability conflict detector fires and the plugin's per-configuration capabilitiesResolution rule calls selectHighestVersion() so the upstream sibling wins.

CacheableRule-annotated so Gradle's metadata cache amortises the mutation across builds.

  • Constructor Details

    • RootIoCapabilityRule

      public RootIoCapabilityRule()
  • Method Details

    • execute

      public void execute(org.gradle.api.artifacts.ComponentMetadataContext ctx)
      Specified by:
      execute in interface org.gradle.api.Action<org.gradle.api.artifacts.ComponentMetadataContext>