问题标签 [gradle-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 回答
398 浏览

scala - gradle kotlin DSL scala & 想法

我该如何设置

使用 gradle kotlin dsl 构建时来自 scala 插件https://docs.gradle.org/current/userguide/scala_plugin.html ?

0 投票
0 回答
759 浏览

debugging - 调试从 IntelliJ 2018.1.4 构建的 Gradle Wrapper 4.7 的 build.gradle.kts

我正在尝试为build.gradle.ktsIntelliJ 2018.1.4 中的 Gradle Wrapper 4.7 Kotlin DSL 构建调试一个。

我跑了:

Gradle 等待调试器附加。

我在整个build.gradle.kts.

我创建了一个远程调试配置并启动它。

构建运行并完成,没有中断任何断点。

我还尝试从 IntelliJ Gradle 工具窗口的右键菜单中进行调试Tasks/build/build,但这也只是运行任务并且从未在任何断点处停止。

我该如何调试build.gradle.kts

0 投票
1 回答
214 浏览

gradle-kotlin-dsl - 定义删除任务时出错

我收到以下 DSL 脚本块的错误。

但我收到以下错误消息。

这是什么错误信息,我该如何解决?

0 投票
1 回答
1071 浏览

gradle - 在插件块中引用 kotlin gradle 脚本变量

一段时间以来,我一直在使用他们常用的 Groovy 构建脚本 DSL 以多种语言编写 Gradle 插件。最近我想学习如何使用他们的 Kotlin 构建脚本 DSL,但我不太明白一些事情。

我在下面有一个例子:

但是,当我运行像“干净”这样的简单任务时,我收到以下错误:

但是,如果我kotlin_version用字符串文字替换,它可以正常工作:

但是,如果我dependencies用 my 参数化块kotlin_version,它工作得非常好:

为什么不能在plugins块内引用变量?

0 投票
3 回答
4962 浏览

gradle - 如何在 Kotlin 中访问 variant.outputFileName

我们一直在使用这样的片段来重命名 Gradle 构建生成的 APK 文件:

来源:https ://developer.android.com/studio/build/gradle-plugin-3-0-0-migration#variant_output

我现在正在将我的转换build.gradlebuild.gradle.kts,即转换为 Gradle Kotlin DSL。这是最后丢失的部分之一:我不知道如何访问outputFileName.

根据 API 文档,它甚至似乎不存在:

  • BaseVariant.getOutputs()返回DomainObjectCollection<BaseVariantOutput>提供all片段中使用的方法的 a。
  • BaseVariantOutputextends OutputFilewhich extendsVariantOutput但这些都没有一个outputFileName或任何匹配名称的 getter 或 setter。

所以,我怀疑有一些高级的 Groovy 魔法在起作用——但是我如何在 Kotlin 中实现呢?

0 投票
3 回答
916 浏览

gradle - 如何将 Kotlin 源代码的测试报告上传到 Coveralls?

我想在我的 Travis 构建完成后自动将我的 Jacoco 测试报告上传到工作服。它适用于 Java,但如何为 Kotlin 配置它?

错误信息

我可以在本地和 Travis 上生成 Jacoco 测试报告,但是当 Travis 尝试提交工作服时,它会失败并显示消息

谷歌将我链接到 Gradle 插件实现,它显示了它在哪里抛出此消息,它告诉我(我认为)找到了 Jacoco 报告文件,但没有找到工作服显然需要的源文件。

我试过的

因此,我尝试通过以下所有方式将工作服任务指向我的源文件:

我也尝试添加sourceSets project.sourceSets.mainjacocoTestReport任务中。

项目设置

我的最小build.gradle文件:

相关问题

PS 实际上我想使用 Gradle Kotlin DSL,但由于似乎没有人使用它,所以我在为 Gradle 提出这个问题。但最后,我希望 Kotlin DSL 也能解决这个问题。

0 投票
1 回答
1302 浏览

gradle - 如何定义 settings.gradle.kts 和 build.gradle.kts 中可用的 kotlin dsl gradle 属性?

我有一个使用 kotlin DSL 编写的多平台(kotlin)多项目 gradle 项目。忍受我。在 settings.gradle.kts 中,我有两种主要类型的包含帮助器来处理替代项目布局,一个常规模块(module/src)和一个多平台模块(module/js、module/common、module/jvm)。然后,我创建变量来保存我与这些助手一起使用的每个变量的列表,以按照我想要的方式包含所有内容。

我希望能够重用在我的 build.gradle.kts 文件的设置(列表)中定义的这些信息。

每次我尝试按照我在构建文件中的方式执行此操作时,都会收到相同的错误:

或者

我得到的错误是:

我的猜测是设置不支持扩展,所以即使设置this中的类型为 Project(它是根项目),也没关系,你不能使用额外的。我能想到的唯一方法是在 gradle 属性文件中定义项目属性,但我不太热衷于此,因为这似乎不是要保留在那里的信息类型。

有什么东西可以在 buildscript 进行时延迟初始化扩展属性?

0 投票
2 回答
1488 浏览

gradle - gradle + kotlin-dsl:下载文件

如何使用kotlin-dsl在gradle 任务中下载文件?

我想从外部源 (URL) 下载文件并将其存储 + 重命名在我的项目文件夹中。

我试图搜索它,但我只找到了时髦的解决方案。

提前致谢!

0 投票
2 回答
550 浏览

gradle - 在使用 Gradle Kotlin DSL 的复合包含构建中模拟多项目执行?

我正在简化我必须说明我的问题的设置,但包括结构复杂性。

使用 Gradle 的 Kotlin DSL,我有一个复合构建,其中根项目为空,两个包含的构建都是并排的多项目构建,具有不同的结构,使用“容器”项目(也就是没有 build.gradle 的空目录.kts 文件)用于组织目的。

我的愿望是能够在 IDE (Intellij) 内的根复合项目中运行构建,它模仿多项目执行的行为,该项目下的所有内容依次执行任务。

在 Groovy 中,可以只在组合项目中的 includedBuilds*.tasks* 上使用扩展运算符将其连接起来,但在 Kotlin DSL 中,我们只能访问任务,这是单个 TaskReference,无法获取集合任务集合(TaskCollection 或任务集合)或任务引用集合。

所以在复合build.gradle.kts的rootProject中,我有:

然后在其中一个包含的构建 build.gradle.kts 文件中,我尝试以两种不同的方式连接它们(很多,但这是两种方法):

基本上,尝试上述变体只构建和清理包含构建的根项目,而不是子项目。这是一个错误吗?

我不想求助于需要了解包含的构建的底层结构来连接它。那将是不可持续的。我究竟做错了什么?

0 投票
1 回答
6733 浏览

gradle - 使用 gradle kotlin dsl 执行 JavaExec 任务

我创建了简单的build.gradle.kts文件

在我用 main 方法src/main/java/com.lapots.breed创建类Application

但是当我尝试执行execute任务时,它会因为任务不存在的错误而失败。此外,当我使用它列出所有可用任务gradlew tasks时,根本不会显示execute任务。

问题是什么?