android / android/codelab-android-datastore
Please update the Datastore with Protobuf codelab to support Gradle Kotlin DSL / Kotlin code generation
- Lingua principale
- Kotlin
- Stelle
- 240
- Fork
- 113
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi,
It took me some hours to figure out how to set it up correctly, I think the codelab should mention it:
```kotlin
import com.google.protobuf.gradle.id
plugins {
// ...
id("com.google.protobuf") // version 0.9.1
}
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:3.21.9"
}
// Generates the java Protobuf-lite code for the Protobufs in this project. See
// https://github.com/google/protobuf-gradle-plugin#customizing-protobuf-compilation
// for more information.
generateProtoTasks {
// see https://github.com/google/protobuf-gradle-plugin/issues/518
// see https://github.com/google/protobuf-gradle-plugin/issues/491
// all() here because of android multi-variant
all().forEach { task ->
// this only works on version 3.8+ that has buildins for javalite / kotlin lite
// with previous version the java build in is to be removed and a new plugin
// need to be declared
task.builtins {
id("java") { // id is imported above
option("lite")
}
id("kotlin") {
option("lite")
}
}
}
}
}
depencencies {
// ...
implementaiton("com.google.protobuf:protobuf-javalite:3.21.9")
implementaiton("com.google.protobuf:protobuf-kotlin-lite:3.21.9")
// ....
}
```
this generate kotlin helpers for the proto and correctly works on gradle kotlin-dsl
the codelab only show how to configure for java and gradle groovy
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia con la configurazione protobuf esistente in Java e Gradle Groovy del Datastore codelab. Aggiorna il codelab per documentare la configurazione di Gradle Kotlin DSL e la generazione del codice Kotlin Protobuf, quindi verifica che la configurazione documentata corrisponda all'esempio funzionante nell'issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- kotlin
- Ambito
- documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100