gpt4 book ai didi

gradle - 无法解析 Gradle 脚本插件中的插件(外部 Gradle 文件)

转载 作者:行者123 更新时间:2023-12-02 18:45:11 26 4
gpt4 key购买 nike

我正在尝试将 build.gradle 中的一些 JFrog 发布代码干燥到外部文件(Gradle 脚本插件)(我在不同的 Gradle 项目中复制了该代码)。

https://github.com/wizpanda/gradle-common/blob/06a497b62fb4bb86facd96375bad1d91a67545d1/grails-plugin-jfrog-publish.gradle

buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.21.0"
}
}

apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'

publishing {
publications {
wpJFrogMaven(MavenPublication) {

// Code removed for brevity

}
}
}

// Code removed for brevity

我在实际项目的主 build.gradle 末尾使用这个 Gradle 脚本插件 -

apply from: "https://raw.githubusercontent.com/wizpanda/gradle-common/main/grails-plugin-jfrog-publish.gradle"

当我运行任何 Gradle 任务时,例如 - ./gradlew artifactoryPublish,它会失败并出现错误 -

FAILURE: Build failed with an exception.

* Where:
Script 'https://raw.githubusercontent.com/wizpanda/gradle-common/06a497b62fb4bb86facd96375bad1d91a67545d1/grails-plugin-jfrog-publish.gradle' line: 14

* What went wrong:
A problem occurred evaluating script.
> Plugin with id 'com.jfrog.artifactory' not found.

但是如果我在项目的主 build.gradle 文件中定义相同的 buildscript 配置和插件,它就可以正常工作。

我已经花了 3-4 个小时调试它并阅读了各种文章、博客和文档 -

我错过了什么愚蠢的事情吗?

最佳答案

不幸的是,如果您通过 ID 引用第三方插件,则无法在外部 Gradle 脚本插件中传递应用该插件。

您必须通过实现类来引用插件。

有一个open ticket regarding this issue .

您可以在 following PR 中看到必要的更改.

apply plugin: 'com.jfrog.artifactory'

进入

apply plugin: org.jfrog.gradle.plugin.artifactory.ArtifactoryPlugin

关于gradle - 无法解析 Gradle 脚本插件中的插件(外部 Gradle 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67548527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com