问题标签 [kotlin-gradle-plugin]
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.
unit-testing - 使用 java-test-fixtures 模块时如何从测试中测试声明为“内部”的 kotlin 函数
我尝试在我的 kotlin 项目中使用测试装置。不幸的是,我在工具链的一个组件中遇到了一个奇怪的问题,可能是一个错误(不确定是哪个)。
main
通常,声明中的 Kotlin 函数internal
可以test
从同一包中的单元访问。有许多证据支持这种说法,尤其是Kotlin:使内部函数对单元测试可见
事实上,如果我们有src/main/kotlin/ main.kt:
和src/test/kotlin/SayHelloTest.kt:
使用常规build.gradle.kts成功通过测试:
到目前为止,一切都很好。
但是在插件列表中添加了一行:
测试的构建因以下错误而中断:
我发现 Gradle 中提到了类似的问题, Kotlin Gradle 插件错误跟踪器。不幸的是,我无法从这些问题中提取解决方案。也许,这是一个不同的问题。
为了方便读者,我在 Github 上准备了一个小仓库来演示这个问题。
kotlin - 让 kotlinx 序列化在多平台项目中工作
我正在按照 github 上的教程在 Kotlin 1.4-M2 的多平台项目中进行 Kotlin seriazliation 测试,但我没有编译序列化位。
这是我的build.gradle.kts
我在一个简单的数据类上试过了
它在抱怨Unresolved reference: kotlinx
是否需要做一些特定的事情才能使 kotlinx 导入工作,或者我应该使用不同版本的序列化程序库?
kotlin - kotlin-gradle-plugin 如何使用 'kotlin.code.style' 属性?
Kotlin官方文档指出:
将
kotlin.code.style=official
属性添加到项目根目录的 gradle.properties 文件中。
我试图了解kotlin-gradle-plugin如何处理此属性。
哪个 gradle 任务使用它?
运行时gradle build
,我看不到我的代码被重新格式化,即使我故意错误地格式化了我的代码。
我浏览了该插件的 Github 源代码,但无法正确理解它。
谢谢你的帮助。
android - 如何将显式 API 模式应用于除 app 模块之外的所有模块?
我喜欢将显式 API 模式应用于此 Android 项目 中的所有模块,但模块除外app
。通过将以下配置添加到每个模块的build.gradle文件中,这可以正常工作。
但是,我喜欢避免重复声明。因此,我的目标是在项目根目录中的build.gradle文件中对其进行配置。我尝试了以下方法:
这与模块中的插件定义冲突:
原因:org.gradle.api.internal.plugins.PluginApplicationException:无法应用插件“kotlin-android”。
原因:java.lang.IllegalArgumentException:无法添加名称为“kotlin”的扩展,因为已经使用该名称注册了一个扩展。
原因:com.android.build.gradle.internal.BadPluginException:“java”插件已应用,但与 Android 插件不兼容。
有关的
kotlin - 在不使用 maven 的情况下应用本地 jar-plugin
我想从本地加载我的自定义插件jar
。该jar
文件编译得很好,当我检查它时,清单和插件类就在那里。
该插件还没有做任何有用的事情,因为它应该是一个概念验证,以确保它确实有效:
然后我尝试在另一个项目中像这样使用它:
但它一直告诉我:
在以下任何来源中都找不到插件 [id: 'asdf', version: '1.4.0']:
我在这里想念什么?我使用 Gradle v6.5。
kotlin - 如何在 buildSrc 模块中导入 KotlinMultiplatformExtension?
我正在开发一个 kotlin 多平台项目,它有一堆模块。
我写了一个扩展函数,打算在每个模块中使用。扩展函数扩展了KotlinMultiplatformExtension
类的功能。现在该代码在每个模块的build.gradle.kts文件中重复。所以我认为将代码移动到buildSrc moudle 并在任何地方重用会很棒。
问题是buildSrc模块内部KotlinMultiplatformExtension
没有解决。
我的buildSrc/build.gradle.kts:
如果我右键单击KotlinMultiplatformExtension
someModule /build.gradle.kts
它需要我:
所以我猜想在buildSrc/build.gradle.kts中添加一个依赖项应该会有所帮助:
但是添加该结果会导致错误:
有什么想法KotlinMultiplatformExtension
可以在buildSrc中使用吗?
kotlin - 生产模式下的 Kotlin/JS 错误:未捕获的 TypeError:属性描述符必须是对象,未定义
我的反应网络应用程序在 BrowserDevelopmentRun 模式下运行,但 BrowserProductionRun 发生错误导致应用程序无法加载
导致错误的行部分如下所示(exzerpt):
堆栈跟踪
构建.gradle
gradle - 如何查看可以为 gragle.properties 设置的所有选项
我看过很多 android 示例,发现所有示例都使用了不同选项的混合,gradle.properties
并且他们刚刚在文档中给出了这些链接
但在文档中,他们从未真正解释如何查看和查找所有可以设置的选项及其默认值
kotlin - 如何为 Kotlin 1.4.20 增加 Kotlin Daemon JVM 堆?
我正在使用 Gradle 构建 Kotlin 1.4.20 项目,并且在构建过程中堆内存不足。
我试过了
但是,这个选项似乎在 1.4.20 中不可用,只有 1.5。还有其他方法可以增加守护进程堆内存吗?