Arn*_*lle 5 gradle gradle-plugin
摇篮 6.1
我在使用来自自定义存储库的自定义插件的 Gradle 中使用新的插件配置模式时遇到了困难。
buildscript {
repositories {
maven {
url = uri("https://custom")
}
mavenCentral()
jcenter()
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
}
plugins {
java
idea
id("com.custom.gradle.plugin.myplugin") version "1.1.0"
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Plugin [id: 'com.custom.gradle.plugin.myplugin', version: '1.1.0'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.custom.gradle.plugin.myplugin:com.custom.gradle.plugin.myplugin:1.1.0')
Searched in the following repositories:
Gradle Central Plugin Repository
Run Code Online (Sandbox Code Playgroud)
Gradle 将使用插件 ID 作为其组 ID。
如果我使用旧方法,它会起作用:
buildscript {
repositories {
maven {
url = uri("https://custom")
}
mavenCentral()
jcenter()
maven {
url = uri("https://plugins.gradle.org/m2/")
}
}
dependencies {
classpath("com.custom:com.custom.gradle.plugin.myplugin:1.1.0")
}
}
apply(plugin = "com.custom.gradle.plugin.myplugin")
Run Code Online (Sandbox Code Playgroud)
有没有办法用'id'命令指定组ID?或者我是否违反了与旧插件的插件定义合同?
为了使用更新/首选的plugins { }DSL,自定义插件必须发布插件标记工件。
如果可以修改自定义插件,那么我建议更新以使用Java Gradle Plugin Development 插件,该插件将为您创建标记。
如果插件无法更新,那么您仍然可以使用该plugins { }块,但您需要手动解析插件:
主要是build.gradle:
plugins {
id("com.custom.gradle.plugin.myplugin") version "1.1.0"
}
Run Code Online (Sandbox Code Playgroud)
然后手动解决插件settings.gradle:
pluginManagement {
resolutionStrategy {
eachPlugin {
if (requested.id.id == "com.custom.gradle.plugin.myplugin") {
useModule("com.custom:com.custom.gradle.plugin.myplugin:${requested.version}")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅插件解析规则 。
| 归档时间: |
|
| 查看次数: |
588 次 |
| 最近记录: |