android - 如何使用 Kotlin DSL 将选项传递给 JavaPluginExtension

标签 android gradle gradle-kotlin-dsl protoc protobuf-java

我在将这些 gradle groovy 代码转换为 kotlin dsl 时遇到问题。

protobuf {
  protoc {
    artifact = 'com.google.protobuf:protoc:3.8.0'
  }
  generateProtoTasks {
    all().each { task ->
      task.builtins {
        java {
          option "lite"
        }
      }
    }
  }
}

特别是 java block 中的选项“lite”

谢谢。

最佳答案

您可以使用 Kotlin DSL 尝试此操作。

build.gradle.kts

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:3.17.3"
    }

    generateProtoTasks {
        all().forEach {
            it.builtins {
                create("java") {
                    option("lite")
                }
            }
        }
    }
}

关于android - 如何使用 Kotlin DSL 将选项传递给 JavaPluginExtension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68932685/

相关文章:

java - Facebook Android SDK 的 key 哈希

Android WebRTC 答案中的 m 行顺序与提供中的顺序不匹配。拒绝回答

ruby - 在使用 build.gradle 指定最新版本的 Sass jar checkout 另一个分支后,旧 Git 分支上的构建失败

java - Gradle:kotlin 测试在测试中看不到 java 文件

gradle - Kotlin Gradle任务命令行无法按照PATH链接进行自制安装

java - 在 Android Studio 中出现错误, "Fatal signal 6 (SIGABRT), code -6 in tid 3796",我无法解决

Android - android.content.res.Resources$NotFoundException : Resource ID #0x0

git - 将工件添加到 gitlab-ci.yml 中的存储库

ant - 使用 gradle-script-kotlin 中的 ant 任务

teamcity - 如何拆分 TeamCity 的 Kotlin 配置的 settings.kts 文件?