组件元数据处理程序

允许构建提供修改依赖的软件组件的元数据的规则。组件元数据规则应用于 DependencyHandler构建脚本的依赖项块的组件部分。规则可以通过两种不同的方式定义:

  1. 当它们应用于组件部分时直接作为操作
  2. ComponentMetadataRule作为实现接口的隔离类

示例显示了从我们的依赖项之一中删除某些传递依赖项的基本方法。

plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    components {
        withModule("jaxen:jaxen") {
            allVariants {
                withDependencies {
                    removeAll { it.group in ["dom4j", "jdom", "xerces", "maven-plugins", "xml-apis", "xom"] }
                }
            }

        }
    }
    implementation("jaxen:jaxen:1.1.3")
}

特性

无属性

方法

方法描述
all(rule)

添加可以修改任何已解析软件组件的元数据的规则闭包。

all(rule)

添加基于类的规则,该规则可以修改任何已解析软件组件的元数据。

all(rule, configureAction)

添加基于类的规则,该规则可以修改任何已解析软件组件的元数据。规则本身由提供的配置操作配置。

all(ruleSource)

添加可以修改任何已解析软件组件的元数据的规则。

all(rule)

添加可以修改任何已解析软件组件的元数据的规则操作。

withModule(id, rule)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

withModule(id, rule)

添加基于类的规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

withModule(id, rule, configureAction)

添加基于类的规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

withModule(id, ruleSource)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

withModule(id, rule)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

脚本块

无脚本块

方法详情

添加可以修改任何已解析软件组件的元数据的规则闭包。

提供的规则闭包必须声明 aComponentMetadataDetails作为其第一个参数,允许修改组件元数据。

此外,规则可以声明附加(只读)参数,这些参数可以提供有关组件的额外详细信息。这些附加参数的顺序并不重要。

支持以下附加参数类型:

  • IvyModuleDescriptor- 额外的常春藤特定元数据。声明此参数的规则只会被打包为 Ivy 模块的组件调用。
  • PomModuleDescriptor- 其他特定于 Maven 的元数据。声明此参数的规则只会被打包为 POM 模块的组件调用。

添加基于类的规则,该规则可以修改任何已解析软件组件的元数据。

ComponentMetadataHandler all(规则,配置操作)Class<? extends ComponentMetadataRule>Action<? super ActionConfiguration>

添加基于类的规则,该规则可以修改任何已解析软件组件的元数据。规则本身由提供的配置操作配置。

ComponentMetadataHandler allObject规则来源)

添加可以修改任何已解析软件组件的元数据的规则。

RuleSource 是一个对象,它有一个用 注释的规则方法Mutate

本规则方法:

添加可以修改任何已解析软件组件的元数据的规则操作。

ComponentMetadataHandler withModuleObjectID,Closure<?>规则)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

规则闭包参数遵循与 相同的要求ComponentMetadataHandler.all(groovy.lang.Closure)

ComponentMetadataHandler withModuleObjectID,规则)Class<? extends ComponentMetadataRule>

添加基于类的规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

ComponentMetadataHandler withModuleObjectid、规则、配置操作)Class<? extends ComponentMetadataRule>Action<? super ActionConfiguration>

添加基于类的规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

ComponentMetadataHandler withModuleObjectid,Object规则源)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。

规则源参数的要求与 相同ComponentMetadataHandler.all(java.lang.Object)

添加一条规则,该规则可以修改属于指定模块的任何已解析软件组件的元数据。