gpt4 book ai didi

gradle - 我应该在编写 Gradle 插件时隐藏 Kotlin

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

我正在编写一个插件来从现有的 Gradle 构建脚本中提取一些样板。现有的构建脚本主要是用 Groovy 编写和编译 Java。

为了构建我的插件,我使用了 Gradle Kotlin DSL,并想借此机会也用 Kotlin 编写插件。这一切都有效,但现在我的插件对 Kotlin 有很大的依赖性——Gradle 文档特别推荐 minimizing external libraries .

Java 和 Groovy 插件避免了这种情况,因为 Java 和 Groovy 是与 Gradle 的共享依赖项,但 Kotlin 不是共享的先决条件,因此我们必须担心不同插件所需的 Kotlin 版本可能存在冲突。

我想我应该继续采用以下方法之一,但不清楚是哪种方法:

  1. 只需将 Kotlin 的 stdlib 列为标准依赖项并信任 Gradle 即可解决问题。

    这适用于一个插件,但是当另一个插件也被使用但取决于不同的 Kotlin 时,我应该预料到问题吗?

  2. 为我的插件构建某种 super shadowJar 影子 Kotlin 库

    暗示我这样写的每个插件都会比必要的大 10 MB。

  3. 放弃基于 Kotlin 的插件并用 Java/Groovy 重写

    放弃新的善是一种耻辱,但避免上述罪恶可能更好。

欢迎推荐!

最佳答案

由于您的插件正在替换样板文件并且可能不会公开发布,将其写成 script plugin 是否有意义?在 Gradle Kotlin DSL 中?这样,一个足够新的 Gradle 应该能够原生地理解它。

关于gradle - 我应该在编写 Gradle 插件时隐藏 Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56151548/

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