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 29, 2024
1 parent 8f1eb13 commit 88d6b1e
Show file tree
Hide file tree
Showing 30 changed files with 94 additions and 90 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ 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.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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import com.android.tools.lint.detector.api.JavaContext
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 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import com.android.tools.lint.detector.api.JavaContext
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 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
import org.jetbrains.uast.kotlin.isKotlin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ 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.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
import org.jetbrains.uast.kotlin.isKotlin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

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

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

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

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

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

Expand Down
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
Expand Up @@ -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"
Expand Down
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 88d6b1e

Please sign in to comment.