Kotlin脚本为Gradle配置 – 传递参数不使用扩展名
我在项目中使用Kotlin脚本作为Gradle模块的配置。 我有一个自定义部署插件,在运行时为每个服务器实例配置。 我使用扩展从脚本传递参数插件,因为它是写在gradle文档 。
build.gradle.kts
:
apply { plugin(DeployPlugin::class.java) } extensions.add("settingsExtension", {s: Server -> getSettings(s)}) fun getSettings(cfg: Server) = DeploySettings( //configure it with respect to cfg )
DeployPlugin.kt
:
val settingsExtension = project.extensions.getByName("settingsExtension") as ((Server) -> DeploySettings) val settings = settingsExtension.invoke(currentServer)
我不喜欢这种配置方式是我在每个模块配置添加扩展是样板代码。 除非我执行任务,否则我不知道它是否正确。 有没有其他方法可以将getSettings
函数传递给插件代码? 谢谢。
- 在Idea中Kotlin脚本文件的语法高亮
- Travis ci造成失败 – 原因:PermGen空间
- 如何导入Kotlin(Gradle)构建的ShadowJar插件?
- java.lang.NoClassDefFoundError:kotlin / jvm / internal / intrinsics in libgdx
- Proguard在Kotlin中剥离自定义注释
- 如何添加RecyclerView依赖 – gradle 3
- 在运行应用程序时,Intellij不包括对classpath的gradle依赖
- 使用kotlin-dsl访问gradle源代码集
- Kotlin:测试中的java.lang.NoSuchMethodError