Skip to content

Commit

Permalink
Move all annotation constants to shared location so any rules can acc…
Browse files Browse the repository at this point in the history
…ess them
  • Loading branch information
WhosNickDoglio committed Jun 10, 2024
1 parent 334cb1d commit ec55f5b
Showing 30 changed files with 94 additions and 90 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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(),
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
11 changes: 0 additions & 11 deletions lint/hilt/src/main/java/dev/whosnickdoglio/hilt/HiltAnnotations.kt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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

@@ -71,7 +71,11 @@ internal class MissingHiltViewModelAnnotationDetector :
}
}

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"
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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 {
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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 {
Original file line number Diff line number Diff line change
@@ -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

Original file line number Diff line number Diff line change
@@ -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"
Original file line number Diff line number Diff line change
@@ -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"
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit ec55f5b

Please sign in to comment.