From ce45a68cc35a6a6676fe31674d780e51c3f675b8 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Fri, 16 Jul 2021 03:06:43 -0400 Subject: [PATCH] Small grammar and naming followups for proguard gen (#1365) --- .../kotlin/codegen/JsonClassCodegenProcessor.kt | 13 ++++++------- .../moshi/kotlin/codegen/api/AdapterGenerator.kt | 4 ++-- .../kotlin/codegen/JsonClassCodegenProcessorTest.kt | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessor.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessor.kt index 8da6f44..2236762 100644 --- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessor.kt +++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessor.kt @@ -61,11 +61,12 @@ public class JsonClassCodegenProcessor : AbstractProcessor() { public const val OPTION_GENERATED: String = "moshi.generated" /** - * This annotation processing argument disables proguard rule generation. + * This boolean processing option can control proguard rule generation. * Normally, this is not recommended unless end-users build their own JsonAdapter look-up tool. - * This is enabled by default + * This is enabled by default. */ - public const val OPTION_ENABLE_PROGUARD_RULE_GENERATION: String = "moshi.enabledProguardGenerated" + public const val OPTION_GENERATE_PROGUARD_RULES: String = "moshi.generateProguardRules" + private val POSSIBLE_GENERATED_NAMES = arrayOf( ClassName("javax.annotation.processing", "Generated"), ClassName("javax.annotation", "Generated") @@ -96,7 +97,7 @@ public class JsonClassCodegenProcessor : AbstractProcessor() { ) } - generateProguardRules = processingEnv.options[OPTION_ENABLE_PROGUARD_RULE_GENERATION]?.toBooleanStrictOrNull() ?: true + generateProguardRules = processingEnv.options[OPTION_GENERATE_PROGUARD_RULES]?.toBooleanStrictOrNull() ?: true this.types = processingEnv.typeUtils this.elements = processingEnv.elementUtils @@ -145,9 +146,7 @@ public class JsonClassCodegenProcessor : AbstractProcessor() { } preparedAdapter.spec.writeTo(filer) - if (generateProguardRules) { - preparedAdapter.proguardConfig?.writeTo(filer, type) - } + preparedAdapter.proguardConfig?.writeTo(filer, type) } } diff --git a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt index d1b0497..afca47f 100644 --- a/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt +++ b/kotlin/codegen/src/main/java/com/squareup/moshi/kotlin/codegen/api/AdapterGenerator.kt @@ -163,7 +163,7 @@ internal class AdapterGenerator( .initializer("null") .build() - fun prepare(generatedProguard: Boolean, typeHook: (TypeSpec) -> TypeSpec = { it }): PreparedAdapter { + fun prepare(generateProguardRules: Boolean, typeHook: (TypeSpec) -> TypeSpec = { it }): PreparedAdapter { val reservedSimpleNames = mutableSetOf() for (property in nonTransientProperties) { // Allocate names for simple property types first to avoid collisions @@ -181,7 +181,7 @@ internal class AdapterGenerator( result.addComment("Code generated by moshi-kotlin-codegen. Do not edit.") result.addAnnotation(COMMON_SUPPRESS) result.addType(generatedAdapter) - val proguardConfig = if (generatedProguard) { + val proguardConfig = if (generateProguardRules) { generatedAdapter.createProguardRule() } else { null diff --git a/kotlin/codegen/src/test/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessorTest.kt b/kotlin/codegen/src/test/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessorTest.kt index 4a07c99..567e8b9 100644 --- a/kotlin/codegen/src/test/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessorTest.kt +++ b/kotlin/codegen/src/test/java/com/squareup/moshi/kotlin/codegen/JsonClassCodegenProcessorTest.kt @@ -368,7 +368,7 @@ class JsonClassCodegenProcessorTest { """ ) ).apply { - kaptArgs[JsonClassCodegenProcessor.OPTION_ENABLE_PROGUARD_RULE_GENERATION] = "false" + kaptArgs[JsonClassCodegenProcessor.OPTION_GENERATE_PROGUARD_RULES] = "false" }.compile() assertThat(result.generatedFiles.filter { it.endsWith(".pro") }).isEmpty() }