如何为 buildSrc 和应用程序模块定义 Kotlin 版本?

2024-02-24

我正在使用一个buildSrc多模块 Kotlin 项目中的模块管理依赖项定义和版本 https://handstandsam.com/2018/02/11/kotlin-buildsrc-for-better-gradle-dependency-management/。该模块利用kotlin-dsl https://github.com/gradle/kotlin-dsl如图所示构建.gradle.kts:

plugins {
    `kotlin-dsl`
}

替代声明:

plugins {
    id("org.gradle.kotlin.kotlin-dsl") version "0.16.2"
}

我想使用相同的 Kotlin 版本来编译buildSrc模块以及应用程序模块内。我的第一次尝试是简单地添加 JVM 工件:

plugins {
    `kotlin-dsl`
    kotlin("jvm") version "1.2.31"
}

然而,这会导致构建错误,对此进行了讨论here https://github.com/gradle/kotlin-dsl/issues/520:

解析插件时出错 [id: 'org.jetbrains.kotlin.jvm', 版本: '1.2.31']
对已位于类路径上的插件的插件请求不得包含版本

有什么方便的方法只能定义一次整个项目使用的 Kotlin 版本?

Related

  • Gradle Kotlin DSL:在独特的位置定义 Kotlin 版本 https://stackoverflow.com/questions/47588311/gradle-kotlin-dsl-define-kotlin-version-in-unique-place
  • Kotlin 版本和 Gradle Kotlin DSL https://github.com/gradle/kotlin-dsl/blob/master/doc/getting-started/Kotlin-Versions.md
  • 示例项目:Multi-kotlin-project-with-buildSrc https://github.com/gradle/kotlin-dsl/tree/master/samples/multi-kotlin-project-with-buildSrc

我知道的唯一方法是将其放入 gradle.properties (或任何其他配置)并在 settings.gradle.kts 中读取它pluginManagement。像这样:

pluginManagement {
    repositories {
        gradlePluginPortal()
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id.startsWith("org.jetbrains.kotlin")) {
                useVersion(gradle.rootProject.extra["kotlin.version"] as String)
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 buildSrc 和应用程序模块定义 Kotlin 版本? 的相关文章

随机推荐

  • 错误:无法解析“\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models”中的“core-js/es7/reflect”

    更新到 Angular 7 3 6 后 我在 ngserve 上收到以下错误 错误于 node modules Angular devkit build Angular src Angular cli files models jit po
  • 如何在Python中创建带换行符的字符串? [复制]

    这个问题在这里已经有答案了 我有一段文字 没有你聪明的嘴我该怎么办 把我拉进去 你又把我踢出去你让我头晕目眩 别开玩笑了 我无法阻止你那美丽的心灵里到底在想什么我在你的神奇神秘旅程中我很头晕 不知道是什么击中了我 但我会没事的 现在我想用这
  • 如何在 Flutter 中将类似 Duration 的字符串转换为真实的 Duration?

    正如标题所示 我得到一个字符串 01 23 290 它看起来像一个持续时间 但不是 现在我需要用它来与真实的 Duration 进行比较 但我不知道如何处理它 有什么方法吗 使用这样的解析函数 然后使用比较方法Duration Durati
  • 对 Xamarin.iOS Storyboard 的 MVVMCross 支持

    由于支持即将制作稳定流的 iOS 故事板的 XS 集成 我希望能够将此功能与 MVVMCross 结合使用 从根本上来说 它似乎确实有点不应该工作 因为故事板指示视图项目中的导航层次结构 而不是像 MVVMCross 这样的视图模型项目 但
  • Jackson 从 Class 创建 JavaType

    必须有一种方法来创建JavaType from String class 注意 方法的输入must be JavaType对于我的用例 因为该值是使用动态创建的TypeFactory Returns a JavaType for Map
  • 如何使用 C# 在代码中进行数据绑定?

    我打算在我的几个类之间使用数据绑定 换句话说 我不是在模型类和 UI 之间绑定值 而是在不同类之间绑定变量 我在多个地方读到过有关 C 中的数据绑定的内容 但大多数都是指 Windows 窗体和源对象之间的绑定 我还是 C 新手 这就是我理
  • jpGraph 的替代方案

    这是我第一次使用 php 生成图表 你知道 jpGraph 有什么替代品吗 排名不分先后 这里有一些 PHP 图表库 图表总监 http www advsofteng com cdphp html 石墨矿 http graphpite so
  • Firebase 安全规则:公共数据与私有数据

    我有一个签名集合 其中每个签名都有一些属性 公共 全名 城市 然后是电子邮件 我想保持电子邮件属性的私密性 并且我一直在努力编写正确的规则以仅返回全名和城市 这是我的rules json 到目前为止的样子 rules signatures
  • 在 Coq 中证明可逆列表是回文

    这是我对回文的归纳定义 Inductive pal X Type list X gt Prop pal0 pal pal1 forall x X pal x pal2 forall x X l list X pal l gt pal x l
  • 默默地从Python字典中删除键[重复]

    这个问题在这里已经有答案了 我有一个 python 字典 我想默默地删除其中一个None and 我的字典中的键所以我想出了这样的东西 try del my dict None except KeyError pass try del my
  • 无法检索运营商名称

    使用iPhone6 Xcode 8 1 运行iOS 10 1 1 执行以下命令 我不断收到 Swift 代码 无法检索运营商名称 错误消息出现在我的第一个消息之前ViewController甚至负载 我搜索了类似 但不相同 的解决方案Car
  • web.xml 过滤器映射不转发到 struts

    我正在尝试做一些微不足道的事情 但看不到我错过了什么 我有以下 web xml
  • 获取 RibbonControlsLibrary.Aero2 的 FileNotFoundException

    我最近在尝试运行使用 WPF 功能区的项目时开始收到此错误 它之前一直在这台机器上运行 但由于某种原因现在不能运行 图书馆来自here http www microsoft com en us download details aspx i
  • Python网络抓取:睡眠和请求之间的区别(页面,超时= x)

    当循环抓取多个网站时 我注意到之间的速度存在相当大的差异 sleep 10 response requests get url and response requests get url timeout 10 那是 timeout速度要快得
  • 带有两个提交按钮的 Django 表单。 。 。一个需要字段,一个不需要

    我认为这应该是一个相当简单的问题 我有一个 Django 表单 其中有两个不同的提交按钮 第一个提交按钮仅用于将在表单字段中输入的任何值保存到数据库 以便用户可以根据需要返回并稍后完成表单 我希望单击第一个提交按钮时不需要表单字段 但是 当
  • Windows 7,64 位,DLL 问题

    我的可执行文件有问题 我在 Windows 7 64 位开发盒上运行这个 C 32 位可执行文件 该开发盒还包含所有这些 Microsoft 应用程序 Visual Studio 2008 2010 TFS SDK Microsoft Of
  • 当我添加服务引用时,为什么 VS2010 RC 不使用我现有的类型?

    我在 VS2010 RC 中获取服务引用以使用现有程序集时遇到了很大的问题 即使我有一个类库 其中包含在服务项目和使用项目 这是一个类库 之间共享的所有数据协定 用 DataContract 标记的类和用 DataMember 标记的属性
  • Asan:asan 库加载问题

    在我们的构建系统中 我们最近将 ASAN 工具 添加 fsanitize address 集成到 CFLAGS 中 并且同时链接 创建库 so 文件 注意 我们使用 GCC 6 3 编译器 我们能够成功构建我们的代码 但在运行时失败并出现以
  • 希伯来语 Google 地图 api

    我正在为以色列开发谷歌地图应用程序 但我不知道使用希伯来语名称地址进行地理编码未找到地址位置 我真的需要帮助我应该做什么才能得到它 与curl相关的问题仍然存在 使用浏览器 我得到状态为 正常 的响应 但是使用带有错误请求的curl goo
  • 如何为 buildSrc 和应用程序模块定义 Kotlin 版本?

    我正在使用一个buildSrc多模块 Kotlin 项目中的模块管理依赖项定义和版本 https handstandsam com 2018 02 11 kotlin buildsrc for better gradle dependenc