From 3304a1afefff6a2c0200fbb27861af42dea0d635 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Fri, 3 Nov 2023 23:01:10 +0800 Subject: [PATCH] feat: use @Nonnull better for Kotlin code --- .../plugin/generator/LibrariesAccessorsGenerator.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sweetdependency-gradle-plugin/src/main/java/com/highcapable/sweetdependency/plugin/generator/LibrariesAccessorsGenerator.kt b/sweetdependency-gradle-plugin/src/main/java/com/highcapable/sweetdependency/plugin/generator/LibrariesAccessorsGenerator.kt index 6c886ae..bb61fa9 100644 --- a/sweetdependency-gradle-plugin/src/main/java/com/highcapable/sweetdependency/plugin/generator/LibrariesAccessorsGenerator.kt +++ b/sweetdependency-gradle-plugin/src/main/java/com/highcapable/sweetdependency/plugin/generator/LibrariesAccessorsGenerator.kt @@ -44,6 +44,7 @@ import com.squareup.javapoet.MethodSpec import com.squareup.javapoet.TypeSpec import java.text.SimpleDateFormat import java.util.* +import javax.annotation.Nonnull import javax.lang.model.element.Modifier /** @@ -205,6 +206,7 @@ internal class LibrariesAccessorsGenerator { else -> "\"$accessors\" accessors" }; addJavadoc("Resolve the $actual") }.addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .addAnnotation(Nonnull::class.java) .returns(className.capitalized().asClassType()) .addStatement("return ${className.uncapitalized()}") .build() @@ -228,6 +230,7 @@ internal class LibrariesAccessorsGenerator { MethodSpec.methodBuilder("get${alias.uppercamelcase()}") .addJavadoc("Resolve the \"$dependency\" version alias \"$alias\"") .addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .addAnnotation(Nonnull::class.java) .returns(ExternalDependencyDelegate::class.java) .addStatement("return ${alias.camelcase()}") .build() @@ -432,6 +435,10 @@ internal class LibrariesAccessorsGenerator { */ internal val compileStubFiles get(): List { val stubFiles = mutableListOf() + val nonnullFile = + TypeSpec.annotationBuilder(Nonnull::class.java.simpleName) + .addModifiers(Modifier.PUBLIC) + .build().createJavaFile(Nonnull::class.java.packageName) val iExtensionAccessorsFile = TypeSpec.interfaceBuilder(IExtensionAccessors::class.java.simpleName) .addModifiers(Modifier.PUBLIC) @@ -447,6 +454,7 @@ internal class LibrariesAccessorsGenerator { .addParameter(String::class.java, "version") .build() ).build().createJavaFile(ExternalDependencyDelegate::class.java.packageName) + stubFiles.add(nonnullFile) stubFiles.add(iExtensionAccessorsFile) stubFiles.add(externalDependencyDelegateFile) return stubFiles