赞
踩
gradle plugin的使用文档: https://docs.gradle.org/current/userguide/plugins.html
gradle插件的命名限定方式与maven有些许差别,一般发布maven插件不会按照gradle插件默认的命名格式进行。 因此我们要使用存放在maven仓库中的gradle插件,就需要做一些转换。
官方问当给出的配置方式个人感觉不是很合理,官方使用namespace
进行配置。
需要注意的是针对一个gradle插件:id 'com.example.sample-plugins' version '1.0.0'
,
其requested.id.namespace
为:com.example
其requested.id.id
为:com.example.sample-plugins
其requested.id.name
为:sample-plugins
其requested.version
为:1.0.0
因此我们可以使用如下方式配置一个插件的转换,或者当maven仓库命名也不符合这种规则时直接写死maven的groupId和artifactId及版本号。
settings.gradle
pluginManagement { plugins { } resolutionStrategy { eachPlugin { if (requested.id.id == 'com.example.sample-plugins') { //useModule('com.example:sample-plugins:1.0.0') useModule(String.join(":" ,requested.id.namespace, requested.id.name, requested.version)) } } } repositories { gradlePluginPortal() mavenLocal() mavenCentral() maven { allowInsecureProtocol = true url = 'http://my-own-repo-url/' } } } rootProject.name = 'my-project'
经过转换之后,在build中正常使用插件:
build.gradle
plugins {
id 'com.example.sample-plugins' version '1.0.0'
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。