问题标签 [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.
gradle - 如何在 gradle kotlin DSL 中配置 gradle 规则库模型插件?
我正在使用play-application
插件,它又使用基于 gradle 规则的模型配置。build.gradle.kts
看起来像这样:
其中 play_setup.gradle 是:
有没有办法停止对使用基于规则的模型制作的插件使用 groovy 并直接通过 kotlin-DSL 配置它们?
java - 使用 Kotlin Gradle DSL 向 Kotlin 项目添加集成测试
我想向包含集成测试的 Kotlin 项目添加一个额外的“源集”。我看过一些帖子,它们谈论为普通 Java 项目或 Kotlin 使用 Groovy 而不是 Kotlin Gradle DSL。
总之,使用 Kotlin Gradle DSL:
- 如何添加可以包含 Kotlin 代码、Java 代码和资源的附加“源集”,以便将集成测试与常规单元测试分开?
- 如何添加额外的任务和配置以独立于单元测试运行集成测试?
我希望目录结构看起来像:
有关的:
https://ryanharrison.co.uk/2018/07/25/kotlin-add-integration-test-module.html
https://www.petrikainulainen.net/programming/gradle/getting-started-with-gradle-integration-testing/
谢谢
android - 无法导入项目“FirebaseUI-Android”
我尝试通过导入项目向导导入,没有用。该项目使用 Gradle Kotlin DSL。我正在使用 Android Studio 3.1.4。
我尝试跑步gradle idea
并收到此消息
当他们迁移到 Kotlin DSL 时,推荐的导入这个项目的方法是什么?
这已在GitHub Repository上报告。我仍然有导入问题。
关于使用 Android Studio 导入项目的注意事项:使用“版本控制中的项目”不会自动将项目与 Gradle 链接(问题 #1349)。这样做并打开任何 build.gradle.kts 文件时,会出现错误:Project 'FirebaseUI-Android' is not linked with Gradle。要解决此问题,请手动 git checkout 项目并使用 Import from external model 导入。
gradle - Kotlin gradle 脚本设置
我正在尝试编译简单的 Kotlin Gradle 脚本。我在 Idea 中使用 build.gradle.kts 创建了一个项目,内容如下:
它的灵感来自 gradle/kotlin-dsl 存储库中的复制示例,它既不是从 IDE 也不是终端中的 gradlew 编译。它给了我这些错误:
也许我错过了某种要包含的插件?我怎么做?
android - 无法解析插件工件 o.fabric:io.fabric.gradle.plugin Kotlin DSL
尝试构建项目时出现以下错误。唯一的区别是 gradle 脚本在 Kotlin DSL 中。
下面是我的整个 build.gradle.kts 文件
https://gist.github.com/nksaroj/483f3f07df8e04c72040ea4c055459d6
或者https://github.com/nksaroj/xDemo是完整的项目。
gradle - 当我引入一个不相关的自定义任务时,为什么这个 gradle buildscript (kotlin dsl) 无法编译?
所以我一直在玩 gradle 的 kotlin dsl,我的 buildscript 已经发展到我想引入自定义任务以更好地组织的地步。
这是我的MWEbuild.gradle.kts
:
没有任务配置的输出./gradlew debug traverseDir
(意思是注释目录分配):
带有任务配置的输出./gradlew debug traverseDir
(意味着未注释的目录分配):
这两个任务彼此没有联系(除了它们在同一个构建脚本文件中定义),但是当我尝试配置我的自定义任务的实例(即取消注释该dir = ...
行)时,构建失败,因为脚本编译错误- 看似无关的 - traverseDir 函数。
进一步的怪异:
dir
如果我重命名任何一个变量(即为),则不会发生错误dir_
- 然后构建成功。- 将行更改
dir = dir.parentFile
为dir = dir?.parentFile
使构建成功。
为什么会这样?
输出./gradlew --version
:
更新:
这似乎是一个错误,我在以下方面创建了问题:
- gradle/kotlin-dsl:https ://github.com/gradle/kotlin-dsl/issues/1115
- jetbrains/kotlin:https ://youtrack.jetbrains.com/issue/KT-26983
android - 使用 gradle kotlin dsl 时未解决的参考 kotlintest
这是我的build.gradle.kts
:
构建它时./gradlew build
没有发生错误,但如果我使用文档中的指定代码:
我收到以下错误:Task with name 'test' not found in project ':app'.
我的settings.gradle.kts
:
有谁知道这里发生了什么?奇怪的是 AS 可以建议我自动完成,但在编译时,我得到了这个未解决的参考。
gradle - 如何有效地填充 Gradle Kotlin DSL 中的额外属性?
我正在将Gradle构建脚本从Groovy迁移到Kotlin DSL,其中没有真正记录的事情之一是如何填充额外的属性。
在Groovy中,我可以写:
我发现在Kotlin DSL中,我可以通过以下方式实现相同的功能:
这看起来很重复。
在Kotlin中实现ExtraPropertiesExtension有点复杂,但最后,它只是简单的 old 。Map<String, Object>
所以,我的问题是:是否可以extra
更容易地填充具有多个属性的对象,而不仅仅是重复val myProp by extra { "myValue"}
?
gradle - 如何从 Kotlin DSL gradle 脚本中的插件访问属性?
我有一个使用此插件的 kts gradle buildscript 。
该插件将project.version
属性设置为字符串并添加一些附加属性:
虽然 version 属性是一个字符串,但它确实公开了一些额外的属性。它们是
snapshot
、major
、minor
和patch
。preRelease
现在,我如何访问这些属性build.gradle.kts
?
val major = project.version.major as Integer
由于 Kotlin 是静态类型的,因此尝试总是失败:
未解决的参考:主要
有什么方法可以访问这些属性,还是我必须回到基于 groovy 的gradle.build
构建脚本?