ComponentSelectionRules

表示组件选择规则的容器。规则可以作为配置的 resolutionStrategy 的一部分应用,单个组件可以通过规则明确接受或拒绝。既未接受也未拒绝的组件将遵循默认的版本匹配策略。

    configurations {
        conf {
            resolutionStrategy {
                componentSelection {
                    all { ComponentSelection selection ->
                        if (selection.candidate.module == 'someModule' && selection.candidate.version == '1.1') {
                            selection.reject("bad version '1.1' for 'someModule'")
                        }
                    }
                    all { ComponentSelection selection ->
                        if (selection.candidate.module == 'someModule' && selection.getDescriptor(IvyModuleDescriptor)?.branch == 'testing') {
                            if (selection.metadata == null || selection.metadata.status != 'milestone') {
                                selection.reject("only use milestones for someModule:testing")
                            }
                        }
                    }
                    withModule("org.sample:api") { ComponentSelection selection ->
                        if (selection.candidate.version == "1.1") {
                            selection.reject("known bad version")
                        }
                    }
                }
            }
        }
    }

属性

无属性

方法

方法描述
all(closure)

添加一个组件选择规则,该规则将应用于所有已解析的组件。每个规则将接收一个 ComponentSelection 对象作为参数。

all(ruleSource)

添加一个由规则源支持的组件选择规则,该规则将应用于所有已解析的组件。ruleSource 提供规则,其形式是恰好一个使用 Mutate 注解的规则方法。该规则方法

all(selectionAction)

添加一个简单的组件选择规则,该规则将应用于所有已解析的组件。每个规则将接收一个 ComponentSelection 对象作为参数。

withModule(id, closure)

添加一个组件选择规则,该规则将应用于指定的模块。每个规则将接收一个 ComponentSelection 对象作为参数。

withModule(id, ruleSource)

添加一个由规则源支持的组件选择规则,该规则将应用于指定的模块。ruleSource 提供规则,其形式是恰好一个使用 Mutate 注解的规则方法。该规则方法

withModule(id, selectionAction)

添加一个组件选择规则,该规则将应用于指定的模块。每个规则将接收一个 ComponentSelection 对象作为参数。

脚本块

无脚本块

方法详情

添加一个组件选择规则,该规则将应用于所有已解析的组件。每个规则将接收一个 ComponentSelection 对象作为参数。

添加一个由规则源支持的组件选择规则,该规则将应用于所有已解析的组件。ruleSource 提供规则,其形式是恰好一个使用 Mutate 注解的规则方法。该规则方法

ComponentSelectionRules all(Action<? super ComponentSelection> selectionAction)

添加一个简单的组件选择规则,该规则将应用于所有已解析的组件。每个规则将接收一个 ComponentSelection 对象作为参数。

ComponentSelectionRules withModule(Object id, Closure<?> closure)

添加一个组件选择规则,该规则将应用于指定的模块。每个规则将接收一个 ComponentSelection 对象作为参数。

ComponentSelectionRules withModule(Object id, Object ruleSource)

添加一个由规则源支持的组件选择规则,该规则将应用于指定的模块。ruleSource 提供规则,其形式是恰好一个使用 Mutate 注解的规则方法。该规则方法

ComponentSelectionRules withModule(Object id, Action<? super ComponentSelection> selectionAction)

添加一个组件选择规则,该规则将应用于指定的模块。每个规则将接收一个 ComponentSelection 对象作为参数。