Class DependencyRecommendationsPlugin
java.lang.Object
netflix.nebula.dependency.recommender.DependencyRecommendationsPlugin
- All Implemented Interfaces:
org.gradle.api.Plugin<org.gradle.api.Project>
public class DependencyRecommendationsPlugin
extends Object
implements org.gradle.api.Plugin<org.gradle.api.Project>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(org.gradle.api.Project project) voideagerlyResolveBoms(org.gradle.api.Project project, RecommendationProviderContainer container) Eagerly resolves BOM configurations during the configuration phase to prevent configuration resolution lock conflicts in parallel builds.protected voidenhanceDependenciesWithRecommender(org.gradle.api.Project project) protected voidenhancePublicationsWithBomProducer(org.gradle.api.Project project) getReasonsRecursive(org.gradle.api.Project project) Look for recommendation reasons in a project and each of its ancestors in order until one is found or the root is reachedgetRecommendedVersionRecursive(org.gradle.api.Project project, org.gradle.api.artifacts.ModuleVersionSelector mvSelector) Look for recommended versions in a project and each of its ancestors in order until one is found or the root is reachedprotected StringwhichStrategy(RecommendationStrategy strategy)
-
Field Details
-
NEBULA_RECOMMENDER_BOM
- See Also:
-
CORE_BOM_SUPPORT_ENABLED
public static final boolean CORE_BOM_SUPPORT_ENABLED
-
-
Constructor Details
-
DependencyRecommendationsPlugin
public DependencyRecommendationsPlugin()
-
-
Method Details
-
apply
public void apply(org.gradle.api.Project project) - Specified by:
applyin interfaceorg.gradle.api.Plugin<org.gradle.api.Project>
-
whichStrategy
-
enhanceDependenciesWithRecommender
protected void enhanceDependenciesWithRecommender(org.gradle.api.Project project) -
enhancePublicationsWithBomProducer
protected void enhancePublicationsWithBomProducer(org.gradle.api.Project project) -
getRecommendedVersionRecursive
public String getRecommendedVersionRecursive(org.gradle.api.Project project, org.gradle.api.artifacts.ModuleVersionSelector mvSelector) Look for recommended versions in a project and each of its ancestors in order until one is found or the root is reached- Parameters:
project- the gradleProjectmvSelector- the module to lookup- Returns:
- the recommended version or
null
-
getReasonsRecursive
Look for recommendation reasons in a project and each of its ancestors in order until one is found or the root is reached- Parameters:
project- the gradleProject- Returns:
- the recommended version or
null
-
eagerlyResolveBoms
public void eagerlyResolveBoms(org.gradle.api.Project project, RecommendationProviderContainer container) Eagerly resolves BOM configurations during the configuration phase to prevent configuration resolution lock conflicts in parallel builds.This method delegates to
BomResolutionUtil.eagerlyResolveBoms(org.gradle.api.Project, netflix.nebula.dependency.recommender.provider.RecommendationProviderContainer, java.lang.String)and is provided for backward compatibility and convenience for external plugins.External Plugin Usage:
// Get the plugin instance and container DependencyRecommendationsPlugin plugin = project.plugins.getPlugin(DependencyRecommendationsPlugin) RecommendationProviderContainer container = project.extensions.getByType(RecommendationProviderContainer) // Disable automatic resolution and add BOMs container.setEagerlyResolve(false) container.mavenBom(module: 'com.example:custom-bom:1.0.0') // Manually trigger resolution plugin.eagerlyResolveBoms(project, container)- Parameters:
project- the Gradle project whose BOM configurations should be resolvedcontainer- the recommendation provider container to check for additional BOM providers- Since:
- 12.7.0
- See Also:
-