From a17b1d002aa619b48d3f3113a99fe6453e92585d Mon Sep 17 00:00:00 2001 From: nicholasdoglio Date: Sun, 21 Apr 2024 19:37:33 -0400 Subject: [PATCH] Move all annotation constants to shared location so any rules can access them --- .../dev/whosnickdoglio/anvil/AnvilAnnotations.kt | 16 ---------------- .../ContributesBindingMustHaveSuperDetector.kt | 8 ++++---- .../FavorContributesBindingOverBindsDetector.kt | 6 +++--- .../MissingContributesBindingDetector.kt | 6 +++--- .../detectors/MissingContributesToDetector.kt | 4 ++-- .../anvil/detectors/NoAnvilInJavaDetector.kt | 14 +++++++------- ...ontributesBindingMustHaveSuperDetectorTest.kt | 8 ++++---- .../MissingContributesBindingDetectorTest.kt | 4 ++-- .../anvil/detectors/NoAnvilInJavaDetectorTest.kt | 14 +++++++------- .../detectors/ComponentMustBeAbstractDetector.kt | 4 ++-- ...tructorInjectionOverFieldInjectionDetector.kt | 2 +- .../detectors/CorrectBindsUsageDetector.kt | 2 +- .../detectors/MissingModuleAnnotationDetector.kt | 8 ++++---- .../dagger/detectors/MultipleScopesDetector.kt | 6 +++--- .../ScopedWithoutInjectAnnotationDetector.kt | 4 ++-- .../dagger/detectors/StaticProvidesDetector.kt | 2 +- .../ComponentMustBeAbstractDetectorTest.kt | 4 ++-- .../dev/whosnickdoglio/hilt/HiltAnnotations.kt | 11 ----------- .../EntryPointMustBeAnInterfaceDetector.kt | 2 +- .../MissingAndroidEntryPointDetector.kt | 4 ++-- .../MissingHiltAndroidAppAnnotationDetector.kt | 2 +- .../MissingHiltViewModelAnnotationDetector.kt | 10 +++++++--- .../hilt/detectors/MissingInstallInDetector.kt | 6 +++--- .../EntryPointMustBeAnInterfaceDetectorTest.kt | 2 +- .../MissingAndroidEntryPointDetectorTest.kt | 2 +- ...issingHiltAndroidAppAnnotationDetectorTest.kt | 2 +- ...MissingHiltViewModelAnnotationDetectorTest.kt | 2 +- .../lint/shared/anvil/AnvilAnnotations.kt | 16 ++++++++++++++++ .../DaggerAnnotations.kt} | 2 +- .../lint/shared/hilt/HiltAnnotations.kt | 11 +++++++++++ 30 files changed, 94 insertions(+), 90 deletions(-) delete mode 100644 lint/anvil/src/main/java/dev/whosnickdoglio/anvil/AnvilAnnotations.kt delete mode 100644 lint/hilt/src/main/java/dev/whosnickdoglio/hilt/HiltAnnotations.kt create mode 100644 lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/anvil/AnvilAnnotations.kt rename lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/{AnnotationConstants.kt => dagger/DaggerAnnotations.kt} (94%) create mode 100644 lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/hilt/HiltAnnotations.kt diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/AnvilAnnotations.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/AnvilAnnotations.kt deleted file mode 100644 index f1636e2c..00000000 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/AnvilAnnotations.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) 2024 Nicholas Doglio - * SPDX-License-Identifier: MIT - */ -package dev.whosnickdoglio.anvil - -internal const val CONTRIBUTES_TO = "com.squareup.anvil.annotations.ContributesTo" -internal const val CONTRIBUTES_BINDING = "com.squareup.anvil.annotations.ContributesBinding" -internal const val CONTRIBUTES_MULTI_BINDING = - "com.squareup.anvil.annotations.ContributesMultibinding" -internal const val CONTRIBUTES_SUBCOMPONENT = - "com.squareup.anvil.annotations.ContributesSubcomponent" -internal const val CONTRIBUTES_SUBCOMPONENT_FACTORY = - "com.squareup.anvil.annotations.ContributesSubcomponent.Factory" -internal const val MERGE_COMPONENT = "com.squareup.anvil.annotations.MergeComponent" -internal const val MERGE_SUBCOMPONENT = "com.squareup.anvil.annotations.MergeSubcomponent" diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetector.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetector.kt index ec13b3ba..589d9d1b 100644 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetector.kt +++ b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetector.kt @@ -16,10 +16,10 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_TO -import dev.whosnickdoglio.lint.shared.MODULE +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_TO +import dev.whosnickdoglio.lint.shared.dagger.MODULE import org.jetbrains.kotlin.psi.KtAnnotationEntry import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UClass diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/FavorContributesBindingOverBindsDetector.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/FavorContributesBindingOverBindsDetector.kt index 7d53d35e..f2b7423f 100644 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/FavorContributesBindingOverBindsDetector.kt +++ b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/FavorContributesBindingOverBindsDetector.kt @@ -15,9 +15,9 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.lint.shared.BINDS -import dev.whosnickdoglio.lint.shared.INTO_MAP -import dev.whosnickdoglio.lint.shared.INTO_SET +import dev.whosnickdoglio.lint.shared.dagger.BINDS +import dev.whosnickdoglio.lint.shared.dagger.INTO_MAP +import dev.whosnickdoglio.lint.shared.dagger.INTO_SET import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UElement import org.jetbrains.uast.UMethod diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetector.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetector.kt index 13137e0f..c57566e0 100644 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetector.kt +++ b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetector.kt @@ -15,9 +15,9 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING -import dev.whosnickdoglio.lint.shared.INJECT +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.dagger.INJECT import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesToDetector.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesToDetector.kt index ff159149..42ce2b7f 100644 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesToDetector.kt +++ b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/MissingContributesToDetector.kt @@ -16,8 +16,8 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.anvil.CONTRIBUTES_TO -import dev.whosnickdoglio.lint.shared.MODULE +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_TO +import dev.whosnickdoglio.lint.shared.dagger.MODULE import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetector.kt b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetector.kt index 0bc99139..2de82d60 100644 --- a/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetector.kt +++ b/lint/anvil/src/main/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetector.kt @@ -16,13 +16,13 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_SUBCOMPONENT -import dev.whosnickdoglio.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY -import dev.whosnickdoglio.anvil.CONTRIBUTES_TO -import dev.whosnickdoglio.anvil.MERGE_COMPONENT -import dev.whosnickdoglio.anvil.MERGE_SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_TO +import dev.whosnickdoglio.lint.shared.anvil.MERGE_COMPONENT +import dev.whosnickdoglio.lint.shared.anvil.MERGE_SUBCOMPONENT import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UElement diff --git a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetectorTest.kt b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetectorTest.kt index d62faee8..198c600d 100644 --- a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetectorTest.kt +++ b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetectorTest.kt @@ -8,9 +8,9 @@ import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_TO +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_TO import dev.whosnickdoglio.stubs.daggerAnnotations import dev.whosnickdoglio.stubs.javaxAnnotations import org.junit.Test @@ -112,7 +112,7 @@ class ContributesBindingMustHaveSuperDetectorTest { Fix for src/MyModule.kt line 4: Did you mean to use the `@ContributesTo` annotation?: @@ -4 +4 - @${annotation.substringAfterLast(".")} - + @${CONTRIBUTES_TO} + + @$CONTRIBUTES_TO + """ .trimIndent(), diff --git a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetectorTest.kt b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetectorTest.kt index aa912259..45594725 100644 --- a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetectorTest.kt +++ b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetectorTest.kt @@ -8,8 +8,8 @@ import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING import dev.whosnickdoglio.stubs.javaxAnnotations import org.junit.Test import org.junit.runner.RunWith diff --git a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetectorTest.kt b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetectorTest.kt index cba1ae60..30d8dda2 100644 --- a/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetectorTest.kt +++ b/lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetectorTest.kt @@ -8,13 +8,13 @@ import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector -import dev.whosnickdoglio.anvil.CONTRIBUTES_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_MULTI_BINDING -import dev.whosnickdoglio.anvil.CONTRIBUTES_SUBCOMPONENT -import dev.whosnickdoglio.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY -import dev.whosnickdoglio.anvil.CONTRIBUTES_TO -import dev.whosnickdoglio.anvil.MERGE_COMPONENT -import dev.whosnickdoglio.anvil.MERGE_SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_MULTI_BINDING +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY +import dev.whosnickdoglio.lint.shared.anvil.CONTRIBUTES_TO +import dev.whosnickdoglio.lint.shared.anvil.MERGE_COMPONENT +import dev.whosnickdoglio.lint.shared.anvil.MERGE_SUBCOMPONENT import org.junit.Test import org.junit.runner.RunWith diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetector.kt index b3c82a3c..01235d91 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetector.kt @@ -15,8 +15,8 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.lint.shared.COMPONENT -import dev.whosnickdoglio.lint.shared.SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.dagger.COMPONENT +import dev.whosnickdoglio.lint.shared.dagger.SUBCOMPONENT import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ConstructorInjectionOverFieldInjectionDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ConstructorInjectionOverFieldInjectionDetector.kt index 537ab29c..5b0f6726 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ConstructorInjectionOverFieldInjectionDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ConstructorInjectionOverFieldInjectionDetector.kt @@ -16,7 +16,7 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.StringOption import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.lint.shared.INJECT +import dev.whosnickdoglio.lint.shared.dagger.INJECT import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UElement import org.jetbrains.uast.UField diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/CorrectBindsUsageDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/CorrectBindsUsageDetector.kt index 39f4710b..711a95bf 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/CorrectBindsUsageDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/CorrectBindsUsageDetector.kt @@ -15,7 +15,7 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.lint.shared.BINDS +import dev.whosnickdoglio.lint.shared.dagger.BINDS import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UElement import org.jetbrains.uast.UMethod diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MissingModuleAnnotationDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MissingModuleAnnotationDetector.kt index 91177c04..834fcb1d 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MissingModuleAnnotationDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MissingModuleAnnotationDetector.kt @@ -16,10 +16,10 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.lint.shared.BINDS -import dev.whosnickdoglio.lint.shared.MODULE -import dev.whosnickdoglio.lint.shared.MULTIBINDS -import dev.whosnickdoglio.lint.shared.PROVIDES +import dev.whosnickdoglio.lint.shared.dagger.BINDS +import dev.whosnickdoglio.lint.shared.dagger.MODULE +import dev.whosnickdoglio.lint.shared.dagger.MULTIBINDS +import dev.whosnickdoglio.lint.shared.dagger.PROVIDES import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MultipleScopesDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MultipleScopesDetector.kt index b16cf579..a61eed2d 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MultipleScopesDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/MultipleScopesDetector.kt @@ -16,9 +16,9 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.lint.shared.BINDS -import dev.whosnickdoglio.lint.shared.PROVIDES -import dev.whosnickdoglio.lint.shared.SCOPE +import dev.whosnickdoglio.lint.shared.dagger.BINDS +import dev.whosnickdoglio.lint.shared.dagger.PROVIDES +import dev.whosnickdoglio.lint.shared.dagger.SCOPE import org.jetbrains.uast.UAnnotated import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ScopedWithoutInjectAnnotationDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ScopedWithoutInjectAnnotationDetector.kt index 72c292fd..132fc048 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ScopedWithoutInjectAnnotationDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/ScopedWithoutInjectAnnotationDetector.kt @@ -15,8 +15,8 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.lint.shared.INJECT -import dev.whosnickdoglio.lint.shared.SCOPE +import dev.whosnickdoglio.lint.shared.dagger.INJECT +import dev.whosnickdoglio.lint.shared.dagger.SCOPE import org.jetbrains.uast.UAnnotated import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/StaticProvidesDetector.kt b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/StaticProvidesDetector.kt index 67bde3fe..db354b1b 100644 --- a/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/StaticProvidesDetector.kt +++ b/lint/dagger/src/main/java/dev/whosnickdoglio/dagger/detectors/StaticProvidesDetector.kt @@ -17,7 +17,7 @@ import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat import com.android.tools.lint.detector.api.isJava import com.android.tools.lint.detector.api.isKotlin -import dev.whosnickdoglio.lint.shared.PROVIDES +import dev.whosnickdoglio.lint.shared.dagger.PROVIDES import org.jetbrains.kotlin.psi.KtObjectDeclaration import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UElement diff --git a/lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetectorTest.kt b/lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetectorTest.kt index 7a08f81a..e550b96b 100644 --- a/lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetectorTest.kt +++ b/lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetectorTest.kt @@ -8,8 +8,8 @@ import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector -import dev.whosnickdoglio.lint.shared.COMPONENT -import dev.whosnickdoglio.lint.shared.SUBCOMPONENT +import dev.whosnickdoglio.lint.shared.dagger.COMPONENT +import dev.whosnickdoglio.lint.shared.dagger.SUBCOMPONENT import dev.whosnickdoglio.stubs.daggerAnnotations import org.junit.Test import org.junit.runner.RunWith diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/HiltAnnotations.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/HiltAnnotations.kt deleted file mode 100644 index 1168d748..00000000 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/HiltAnnotations.kt +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (C) 2024 Nicholas Doglio - * SPDX-License-Identifier: MIT - */ -package dev.whosnickdoglio.hilt - -internal const val INSTALL_IN = "dagger.hilt.InstallIn" -internal const val ENTRY_POINT = "dagger.hilt.EntryPoint" -internal const val ANDROID_ENTRY_POINT = "dagger.hilt.android.AndroidEntryPoint" -internal const val HILT_ANDROID_APP = "dagger.hilt.android.HiltAndroidApp" -internal const val HILT_VIEW_MODEL = "dagger.hilt.android.lifecycle.HiltViewModel" diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetector.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetector.kt index 9b8aa5ce..800110e4 100644 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetector.kt +++ b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetector.kt @@ -16,7 +16,7 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.hilt.ENTRY_POINT +import dev.whosnickdoglio.lint.shared.hilt.ENTRY_POINT import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetector.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetector.kt index c41ea220..cc4a2b0d 100644 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetector.kt +++ b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetector.kt @@ -15,8 +15,8 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.hilt.ANDROID_ENTRY_POINT -import dev.whosnickdoglio.lint.shared.INJECT +import dev.whosnickdoglio.lint.shared.dagger.INJECT +import dev.whosnickdoglio.lint.shared.hilt.ANDROID_ENTRY_POINT import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetector.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetector.kt index aa86f9b8..a1654a6a 100644 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetector.kt +++ b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetector.kt @@ -15,7 +15,7 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.hilt.HILT_ANDROID_APP +import dev.whosnickdoglio.lint.shared.hilt.HILT_ANDROID_APP import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetector.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetector.kt index ed3aef5a..810b5cee 100644 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetector.kt +++ b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetector.kt @@ -15,8 +15,8 @@ import com.android.tools.lint.detector.api.Scope import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.hilt.HILT_VIEW_MODEL -import dev.whosnickdoglio.lint.shared.INJECT +import dev.whosnickdoglio.lint.shared.dagger.INJECT +import dev.whosnickdoglio.lint.shared.hilt.HILT_VIEW_MODEL import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement @@ -69,7 +69,11 @@ internal class MissingHiltViewModelAnnotationDetector : Detector(), SourceCodeSc } } - private fun UClass.hasInjectedConstructor(): Boolean = constructors.any { method -> method.hasAnnotation(INJECT) } + private fun UClass.hasInjectedConstructor(): Boolean = constructors.any { method -> + method.hasAnnotation( + INJECT, + ) + } companion object { private const val HILT_VIEW_MODEL_PACKAGE = "androidx.lifecycle.ViewModel" diff --git a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingInstallInDetector.kt b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingInstallInDetector.kt index eef1953c..bbe22792 100644 --- a/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingInstallInDetector.kt +++ b/lint/hilt/src/main/java/dev/whosnickdoglio/hilt/detectors/MissingInstallInDetector.kt @@ -17,9 +17,9 @@ import com.android.tools.lint.detector.api.Severity import com.android.tools.lint.detector.api.SourceCodeScanner import com.android.tools.lint.detector.api.StringOption import com.android.tools.lint.detector.api.TextFormat -import dev.whosnickdoglio.hilt.ENTRY_POINT -import dev.whosnickdoglio.hilt.INSTALL_IN -import dev.whosnickdoglio.lint.shared.MODULE +import dev.whosnickdoglio.lint.shared.dagger.MODULE +import dev.whosnickdoglio.lint.shared.hilt.ENTRY_POINT +import dev.whosnickdoglio.lint.shared.hilt.INSTALL_IN import org.jetbrains.uast.UAnnotation import org.jetbrains.uast.UClass import org.jetbrains.uast.UElement diff --git a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetectorTest.kt b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetectorTest.kt index 18deac7f..f3ff77dc 100644 --- a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetectorTest.kt +++ b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetectorTest.kt @@ -6,7 +6,7 @@ package dev.whosnickdoglio.hilt.detectors import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask -import dev.whosnickdoglio.hilt.ENTRY_POINT +import dev.whosnickdoglio.lint.shared.hilt.ENTRY_POINT import org.junit.Test class EntryPointMustBeAnInterfaceDetectorTest { diff --git a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetectorTest.kt b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetectorTest.kt index d378a44a..801aa819 100644 --- a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetectorTest.kt +++ b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetectorTest.kt @@ -8,7 +8,7 @@ import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask import com.google.testing.junit.testparameterinjector.TestParameter import com.google.testing.junit.testparameterinjector.TestParameterInjector -import dev.whosnickdoglio.hilt.ANDROID_ENTRY_POINT +import dev.whosnickdoglio.lint.shared.hilt.ANDROID_ENTRY_POINT import dev.whosnickdoglio.stubs.javaxAnnotations import org.junit.Test import org.junit.runner.RunWith diff --git a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetectorTest.kt b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetectorTest.kt index e424bf99..d7c1fe45 100644 --- a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetectorTest.kt +++ b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetectorTest.kt @@ -6,7 +6,7 @@ package dev.whosnickdoglio.hilt.detectors import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask -import dev.whosnickdoglio.hilt.HILT_ANDROID_APP +import dev.whosnickdoglio.lint.shared.hilt.HILT_ANDROID_APP import org.junit.Test class MissingHiltAndroidAppAnnotationDetectorTest { diff --git a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetectorTest.kt b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetectorTest.kt index f4593550..9e54e078 100644 --- a/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetectorTest.kt +++ b/lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetectorTest.kt @@ -6,7 +6,7 @@ package dev.whosnickdoglio.hilt.detectors import com.android.tools.lint.checks.infrastructure.TestFiles import com.android.tools.lint.checks.infrastructure.TestLintTask -import dev.whosnickdoglio.hilt.HILT_VIEW_MODEL +import dev.whosnickdoglio.lint.shared.hilt.HILT_VIEW_MODEL import dev.whosnickdoglio.stubs.javaxAnnotations import org.junit.Test diff --git a/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/anvil/AnvilAnnotations.kt b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/anvil/AnvilAnnotations.kt new file mode 100644 index 00000000..222c71ec --- /dev/null +++ b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/anvil/AnvilAnnotations.kt @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2024 Nicholas Doglio + * SPDX-License-Identifier: MIT + */ +package dev.whosnickdoglio.lint.shared.anvil + +public const val CONTRIBUTES_TO: String = "com.squareup.anvil.annotations.ContributesTo" +public const val CONTRIBUTES_BINDING: String = "com.squareup.anvil.annotations.ContributesBinding" +public const val CONTRIBUTES_MULTI_BINDING: String = + "com.squareup.anvil.annotations.ContributesMultibinding" +public const val CONTRIBUTES_SUBCOMPONENT: String = + "com.squareup.anvil.annotations.ContributesSubcomponent" +public const val CONTRIBUTES_SUBCOMPONENT_FACTORY: String = + "com.squareup.anvil.annotations.ContributesSubcomponent.Factory" +public const val MERGE_COMPONENT: String = "com.squareup.anvil.annotations.MergeComponent" +public const val MERGE_SUBCOMPONENT: String = "com.squareup.anvil.annotations.MergeSubcomponent" diff --git a/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/AnnotationConstants.kt b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/dagger/DaggerAnnotations.kt similarity index 94% rename from lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/AnnotationConstants.kt rename to lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/dagger/DaggerAnnotations.kt index f9778bcd..88b03431 100644 --- a/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/AnnotationConstants.kt +++ b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/dagger/DaggerAnnotations.kt @@ -2,7 +2,7 @@ * Copyright (C) 2024 Nicholas Doglio * SPDX-License-Identifier: MIT */ -package dev.whosnickdoglio.lint.shared +package dev.whosnickdoglio.lint.shared.dagger public const val INJECT: String = "javax.inject.Inject" public const val SCOPE: String = "javax.inject.Scope" diff --git a/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/hilt/HiltAnnotations.kt b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/hilt/HiltAnnotations.kt new file mode 100644 index 00000000..17bca73e --- /dev/null +++ b/lint/shared/src/main/java/dev/whosnickdoglio/lint/shared/hilt/HiltAnnotations.kt @@ -0,0 +1,11 @@ +/* + * Copyright (C) 2024 Nicholas Doglio + * SPDX-License-Identifier: MIT + */ +package dev.whosnickdoglio.lint.shared.hilt + +public const val INSTALL_IN: String = "dagger.hilt.InstallIn" +public const val ENTRY_POINT: String = "dagger.hilt.EntryPoint" +public const val ANDROID_ENTRY_POINT: String = "dagger.hilt.android.AndroidEntryPoint" +public const val HILT_ANDROID_APP: String = "dagger.hilt.android.HiltAndroidApp" +public const val HILT_VIEW_MODEL: String = "dagger.hilt.android.lifecycle.HiltViewModel"