问题标签 [kotlin-dsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
651 浏览

kotlin - 编写自定义kotlin-dsl时如何忽略显式导入类如gradle kotlin脚本

在 gradle 的 kotlin 构建脚本中,我们不需要在构建脚本build.gradle.ktsplugins中显式导入类repositories或函数。dependencies

如何在自定义 kotlin-dsl 脚本中实现此类似功能以在 kotlin-dsl 脚本中隐式导入类?

0 投票
1 回答
1352 浏览

android - 如何使用 kotlin-dsl Gradle 插件从 Kotlin 1.2 迁移到 1.3?

我目前在我的Android 项目中使用kotlin-dsl Gradle 插件 0.18.2Kotlin 1.2.51Gradle 4.10.2(看看临时分支)。 我喜欢迁移到Kotlin 1.3。但是,我很难找出哪种版本组合有效。我将依赖项提升到最新版本:project-setup

...

一旦我运行 Gradle 任务,它就会失败并出现以下错误:

警告:不支持的 Kotlin 插件版本。embedded-kotlinkotlin-dsl插件依赖于 Kotlin 的功能,这些功能1.2.61可能与请求的版本不同1.3.10

除了kotlin-dsl Gradle 插件的发行说明中所写的内容之外,是否还有迁移指南?

有关的

0 投票
2 回答
96 浏览

kotlin - 必需的和多个成语之一

Kotlin DSL 支持很棒,但我遇到了两种情况,我只能添加解决方法。这两种解决方法都有其主要缺点,因为它们仅在执行时强制执行约束。

第一个约束:必需参数

我想写这样的东西:

其中位置是必需的参数。我的方法是在启动时将位置设置为空,并在构建开始对象时检查它。

第二个约束:众多之一

我想允许几个可能的子对象之一:

我有一种感觉,我达到了 Kotlin DSL 工具包的可能性边缘,因为这个要求也只在核心语言中进行了编译时验证。

任何想法?

0 投票
1 回答
114 浏览

groovy - 如何在 Groovy 中编写这个 Gradle 构建脚本片段?

我最近克隆了一个 Gradle 项目(来自 GitHub),它的脚本在 Kotlin DSL 中(我对它不满意)。我可以将它的所有脚本转换为 Groovy,除了以下代码段:

它在 Groovy 中的等价物是什么?

0 投票
1 回答
826 浏览

java - 如何在 gradle 5.0.0 中将 bootRepackage 任务转换为 kotlin DSL?

想要创建一个 spring boot fat jar,但不确定如何转换在我的文件中找到bootRepackage任务:build.kts

0 投票
2 回答
1232 浏览

spring-boot - Spring Boot 无法使用 gradle kotlin dsl 解决 spring-boot-dependencies

build.gradle.kts文件如下所示

错误信息是这样的:

毕业版本是:

groovy dsl 似乎工作正常。任何帮助将不胜感激。

0 投票
2 回答
546 浏览

gradle - Kotlin Gradle DSL JSONObject 未被模拟

由于我将 Groovy 转换为 Kotlin DSL gradle,我的单元测试不再工作。我得到错误:

所以我点击链接并将 testoptions 添加到我的所有 build.gradle.kts 文件中。但是在这之后它仍然不起作用。

我的 (builsSrc) build.gradle.kts 文件:

我的(应用程序)build.gradle.kts 文件:

它不会找我,我错过了什么。有没有人知道如何解决这个问题?

图像方法未模拟

0 投票
2 回答
972 浏览

gradle - 如何有条件地接受 Kotlin DSL 中的 Gradle 构建扫描插件服务条款?

这基本上将这个问题扩展到 Kotlin DSL 而不是 Groovy DSL:

Groovy DSL 解决方案如何

翻译成 Kotlin DSL?

我正在运行的问题是“buildScan”扩展或com.gradle.scan.plugin.BuildScanExtension类不能静态使用,因为它们存在或不存在取决于--scan命令行参数是否提供给 Gradle。

我试过了

但正如预期的那样termsOfServiceUrltermsOfServiceAgree没有解决,但是我不知道在这里使用什么语法。

0 投票
1 回答
428 浏览

gradle - 使用 Kotlin DSL 构建 Fatjar 时出错

我正在尝试使用 ShadowJar 构建一个 fatjar。我的应用程序和 gradle 代码如下。我正在使用 Gradle 5.0 进行构建。当我运行 ./gradlew run 时,代码有效。当我运行“gradle shadowjar”并在“build/lib”文件夹中使用“java -jar”运行 fatjar 时,出现以下错误。

我猜依赖项没有加载到 fatjar 中?我也使用 Groovy 构建 Gradle 文件,我得到了同样的错误。

我是否正确,因为我没有在 fatjar 文件中包含所有依赖项?如果是这种情况,关于如何修改 Gradle 文件以确保包含它的任何想法?

Gradle Kotlin DSL

Kotlin 代码

错误信息

0 投票
1 回答
3888 浏览

android - 由于转换为使用 Gradle Kotlin DSL,无法解决依赖关系

使用以下文章作为参考将我的原始 Kotlin Gradle 脚本从使用 groovy 转换为使用 Kotlin DSL: A Better way to Manage Gradle Build ScriptMigrating Gradle Build Scripts to Kotlin DSL。编译我的代码后,我得到以下构建错误。

过去在这个平台上提出的问题表明,

  • 使缓存无效并重新启动我尝试过的android studio,但这似乎不起作用。
  • 确保 gradle 全局设置没有被选为离线工作,也被检查为离线并且问题仍然存在。

我已尝试使用建议的解决方案解决此问题。我的 app 模块的build.gradle如下:

我的Dependecies.kts如下:

我的项目模块的 build.gradle 如下:

我的settings.gradle.kts文件如下: