跳至主要內容

ihub-bom

Henry...大约 2 分钟

ihub-bom

插件说明

ihub-bom插件用于配置项目依赖组件版本以及兼容性管理。

信息描述
插件IDpub.ihub.plugin.ihub-bom
插件名称Bom插件
插件类型Project[1]
扩展名称iHubBom
插件依赖ihubio.spring.dependency-managementopen in new window按需使用

插件安装

Kotlin
plugins {
    id("pub.ihub.plugin.ihub-bom")
}

如果已经安装基础插件ihub,则无需单独安装ihub-bom插件,ihub插件已经集成了ihub-bom插件。

配置示例

导入mavenBom

Kotlin
iHubBom {
    importBoms {
        group("pub.ihub.lib").module("ihub-bom").version("ihub.lib.version")
    }
}

配置依赖默认版本

Kotlin
iHubBom {
    importBoms {
        dependencyVersions {
            group("pub.ihub.lib").modules("ihub-core", "ihub-process").version("ihub.lib.version")
        }
    }
}

配置组版本策略

Kotlin
iHubBom {
    importBoms {
        groupVersions {
            group("pub.ihub.lib").version("ihub.lib.version")
        }
    }
}

排除组件依赖

Kotlin
iHubBom {
    importBoms {
        excludeModules {
            group("org.slf4j").modules("slf4j-api")
            // 支持排除整个组
            group("pub.ihub")
        }
    }
}

配置组件依赖

Kotlin
iHubBom {
    importBoms {
        dependencies {
            implementation("pub.ihub.lib:ihub-core")
        }
    }
}

配置组件能力 参见open in new window

Kotlin
iHubBom {
    importBoms {
        capabilities {
            // 支持单个组件(org.slf4j:slf4j-ext)、按组(org.slf4j)、按模块名(slf4j-ext)进行配置
            requireCapability("org.slf4j:slf4j-ext", "org.javassist:javassist")
            // 能力可以省略组,默认同组件
            requireCapability(
                "org.springframework.cloud:spring-cloud-starter-openfeign",
                "spring-cloud-starter-loadbalancer"
            )
        }
    }
}

默认platforms

插件内置默认BOM pub.ihub.lib:ihub-dependenciesopen in new window ,用于维护组件版本

默认catalog

插件内置默认catalog pub.ihub.lib:ihub-libsopen in new window ,用于维护项目组件别名与版本,与platforms区别详见open in new window


  1. Project:项目类型插件,配置于build.gradle文件,类型说明详见open in new window ↩︎