[Kotlin][Client] Added new option to enable moshi code generator (#4781)

* Added new option to enable moshi code generator

* Tweaking Serializer template
This commit is contained in:
Alexander Eggers
2019-12-14 17:39:16 +11:00
committed by William Cheng
parent 0ffb99a48e
commit 02f5cb1a65
50 changed files with 2800 additions and 23 deletions

View File

@@ -7,7 +7,7 @@ wrapper {
}
buildscript {
ext.kotlin_version = '1.3.50'
ext.kotlin_version = '1.3.61'
repositories {
mavenCentral()
@@ -18,6 +18,9 @@ buildscript {
}
apply plugin: 'kotlin'
{{#moshiCodeGen}}
apply plugin: 'kotlin-kapt'
{{/moshiCodeGen}}
repositories {
mavenCentral()
@@ -31,8 +34,14 @@ dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
{{#moshi}}
compile "com.squareup.moshi:moshi-kotlin:1.8.0"
compile "com.squareup.moshi:moshi-adapters:1.8.0"
{{^moshiCodeGen}}
compile "com.squareup.moshi:moshi-kotlin:1.9.2"
{{/moshiCodeGen}}
compile "com.squareup.moshi:moshi-adapters:1.9.2"
{{#moshiCodeGen}}
compile "com.squareup.moshi:moshi:1.9.2"
kapt "com.squareup.moshi:moshi-kotlin-codegen:1.9.2"
{{/moshiCodeGen}}
{{/moshi}}
{{#gson}}
compile "com.google.code.gson:gson:2.8.6"

View File

@@ -4,6 +4,9 @@ import com.google.gson.annotations.SerializedName
{{/gson}}
{{#moshi}}
import com.squareup.moshi.Json
{{#moshiCodeGen}}
import com.squareup.moshi.JsonClass
{{/moshiCodeGen}}
{{/moshi}}
{{#parcelizeModels}}
import android.os.Parcelable
@@ -27,7 +30,7 @@ import java.io.Serializable
{{#parcelizeModels}}
@Parcelize
{{/parcelizeModels}}
{{#multiplatform}}@Serializable{{/multiplatform}}
{{#multiplatform}}@Serializable{{/multiplatform}}{{#moshi}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/moshi}}
{{#nonPublicApi}}internal {{/nonPublicApi}}data class {{classname}} (
{{#requiredVars}}
{{>data_class_req_var}}{{^-last}},

View File

@@ -3,7 +3,9 @@ package {{packageName}}.infrastructure
{{#moshi}}
import com.squareup.moshi.Moshi
import com.squareup.moshi.adapters.Rfc3339DateJsonAdapter
{{^moshiCodeGen}}
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
{{/moshiCodeGen}}
{{/moshi}}
{{#gson}}
import com.google.gson.Gson
@@ -29,7 +31,9 @@ import java.util.Date
.add(LocalDateAdapter())
.add(UUIDAdapter())
.add(ByteArrayAdapter())
{{^moshiCodeGen}}
.add(KotlinJsonAdapterFactory())
{{/moshiCodeGen}}
.build()
{{/moshi}}
{{#gson}}