Class RecommendationStrategy

java.lang.Object
netflix.nebula.dependency.recommender.RecommendationStrategy
Direct Known Subclasses:
RecommendationsConflictResolvedStrategy, RecommendationsOverrideTransitivesStrategy

public abstract class RecommendationStrategy extends Object
Defines in which cases recommendations are applied
  • Constructor Details

    • RecommendationStrategy

      public RecommendationStrategy()
  • Method Details

    • inspectDependency

      public abstract void inspectDependency(org.gradle.api.artifacts.Dependency dependency)
      This hook is called for each dependency in a project. It collects the dependencies we are interested in for determining if a recommendation should be applied.
      Parameters:
      dependency - the dependency to inspect.
    • recommendVersion

      public abstract boolean recommendVersion(org.gradle.api.artifacts.DependencyResolveDetails details, String version)
      Puts the recommended version on details.useVersion depending on the strategy used
      Parameters:
      details - the details to recommend a version for
      version - the version to be potentially recommended for the requested artifact
      Returns:
      true if a version has been recommended, false otherwise
    • canRecommendVersion

      public abstract boolean canRecommendVersion(org.gradle.api.artifacts.ModuleVersionSelector selector)
      Determines whether recommendVersion(DependencyResolveDetails, String) will recommend a version, given a ModuleVersionSelector
      Parameters:
      selector - the selector
      Returns:
      true if a version will be recommended
    • getCoord

      protected String getCoord(org.gradle.api.artifacts.DependencyResolveDetails details)
      Parameters:
      details - the details to get coordinates from
      Returns:
      the coordinates in the form of "<group>:<name>", taken from details.requested.
    • getCoord

      protected String getCoord(org.gradle.api.artifacts.ModuleVersionSelector selector)
      Parameters:
      selector - the selector to get coordinates from
      Returns:
      the coordinates in the form of "<group>:<name>"