Search code examples
androidgradlegradle-kotlin-dslprotocprotobuf-java

How do I pass option to JavaPluginExtension using Kotlin DSL


I'm having issue converting these gradle groovy code to kotlin dsl.

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

Especially the option "lite" in java block.

Thanks.


Solution

  • You can try this with Kotlin DSL.

    build.gradle.kts

    protobuf {
        protoc {
            artifact = "com.google.protobuf:protoc:3.17.3"
        }
    
        generateProtoTasks {
            all().forEach {
                it.builtins {
                    create("java") {
                        option("lite")
                    }
                }
            }
        }
    }