android / android/codelab-android-datastore

Please update the Datastore with Protobuf codelab to support Gradle Kotlin DSL / Kotlin code generation

Aperta
#59 2 commenti 7 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.