You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kotlin DSL为JavaPluginExtension传参并转换Protobuf Groovy配置

Gradle Protobuf 配置 Groovy 转 Kotlin DSL 实现

下面是你提供的Groovy代码对应的Kotlin DSL完整实现:

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:3.8.0"
    }
    generateProtoTasks {
        all().forEach { task ->
            task.builtins {
                // 写法1:无额外导包,兼容性最高
                create("java") {
                    option("lite")
                }

                // 写法2:已导入protobuf DSL扩展时可直接使用,写法更直观
                // java {
                //     option("lite")
                // }
            }
        }
    }
}

核心配置说明

你困惑的option "lite"配置在Kotlin DSL里有两个适配调整点:

  • Groovy里支持省略括号的方法调用,在Kotlin语法里必须补全括号,对应改为option("lite")
  • Groovy里自动识别的java闭包方法,Kotlin DSL环境如果没有提前导入对应扩展,需要用create("java")显式创建Java内置生成器配置,避免编译报错。

内容的提问来源于stack exchange,提问作者Riajul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:24:02