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 对象作为参数。