gpt4 book ai didi

gradle - 如何将远程脚本插件中的存储库应用到 pluginManagement block ?

转载 作者:行者123 更新时间:2023-12-03 04:26:49 26 4
gpt4 key购买 nike

我想用孵化 plugins blockbuild.gradle :

plugins {
id "com.jfrog.bintray" version "0.4.1"
}

默认情况下,这会从 Gradle 插件门户中提取插件。但是,我们的组织要求我们需要使用内部的 Artifactory 存储库,而不是公共(public)的 Gradle 插件门户或类似的存储库。

我看到 pluginManagement block可用于指定存储库,将以下内容添加到 settings.gradle :
pluginManagement {
repositories {
maven {
url "https://artifactory.example.com/"
}
}
}

我们有几个存储库,以及一些凭证逻辑,所以在过去,我们只是将所有这些都捆绑在一个远程 URL 的脚本插件中,然后在我们的 build.gradle 中访问它。像这样的文件:
apply from: "https://shared.example.com/repositories.gradle"
repositories.gradle文件当前包含 repositories {}具有多个存储库的 block 。

有什么方法可以将此远程脚本插件应用到 pluginManagement堵塞?我试着进入我的 settings.gradle文件并这样做:
pluginManagement {
apply from: "https://shared.example.com/repositories.gradle"
}

但是,我收到了错误消息 Could not find method repositories() for arguments .有没有其他方法可以让它工作?

最佳答案

仅仅因为您在特定上下文中应用了外部 Gradle 脚本(例如 pluginManagement ),它不会在此上下文中执行。 apply方法由 Settings 实现对象,因此默认选择它作为目标对象。您可以尝试使用 to 将脚本委托(delegate)给另一个对象。映射中的参数传递给 apply方法:

apply to: pluginManagement, from: "https://shared.example.com/repositories.gradle"

关于gradle - 如何将远程脚本插件中的存储库应用到 pluginManagement block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45765293/

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