Skip to content

Commit

Permalink
Moved annotation constants into shared module for easier reuse (#369)
Browse files Browse the repository at this point in the history
## Description

Replaced !259 as I lost that when cleaning up a messy merge into main



## Related Issue

<!--- This project only accepts pull requests related to open issues -->

<!--- If suggesting a new feature or change, please discuss it in an
issue first -->

<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->

<!--- Please link to the issue here: -->

## Checklist

<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->

<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->

- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have mentioned changes in [CHANGELOG.md](../CHANGELOG.md).
- [ ] I have read the [**CONTRIBUTING**](CONTRIBUTING.md) document.

## PR Stack

<!-- branch-stack -->

- `main`
  - \#369 :point\_left:
  • Loading branch information
WhosNickDoglio authored Sep 12, 2024
1 parent 522c5b1 commit 08bd70e
Show file tree
Hide file tree
Showing 40 changed files with 113 additions and 119 deletions.
12 changes: 12 additions & 0 deletions lint/annotation-constants/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*
* Copyright (C) 2024 Nicholas Doglio
* SPDX-License-Identifier: MIT
*/
plugins {
id("dev.whosnickdoglio.lint")
`java-test-fixtures`
}

dependencies {
testFixturesApi(libs.lint.tests)
}
File renamed without changes.
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.annotations.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.annotations.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.annotations.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"
4 changes: 2 additions & 2 deletions lint/anvil/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ plugins {
dependencies {
ksp(libs.autoService.ksp)

implementation(projects.lint.shared)
implementation(projects.lint.annotationConstants)

compileOnly(libs.autoService.annotations)

testImplementation(projects.lint.testStubs)
testImplementation(testFixtures(projects.lint.annotationConstants))
}

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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_MULTI_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_TO
import dev.whosnickdoglio.lint.annotations.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.annotations.dagger.BINDS
import dev.whosnickdoglio.lint.annotations.dagger.INTO_MAP
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_MULTI_BINDING
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_TO
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_MULTI_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_SUBCOMPONENT
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_TO
import dev.whosnickdoglio.lint.annotations.anvil.MERGE_COMPONENT
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_MULTI_BINDING
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.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.annotations.anvil.CONTRIBUTES_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_MULTI_BINDING
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_SUBCOMPONENT
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_SUBCOMPONENT_FACTORY
import dev.whosnickdoglio.lint.annotations.anvil.CONTRIBUTES_TO
import dev.whosnickdoglio.lint.annotations.anvil.MERGE_COMPONENT
import dev.whosnickdoglio.lint.annotations.anvil.MERGE_SUBCOMPONENT
import org.junit.Test
import org.junit.runner.RunWith

Expand Down
4 changes: 2 additions & 2 deletions lint/dagger/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ plugins {
dependencies {
ksp(libs.autoService.ksp)

implementation(projects.lint.shared)
implementation(projects.lint.annotationConstants)

compileOnly(libs.autoService.annotations)

testImplementation(projects.lint.testStubs)
testImplementation(testFixtures(projects.lint.annotationConstants))
}
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.annotations.dagger.COMPONENT
import dev.whosnickdoglio.lint.annotations.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.annotations.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.annotations.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.annotations.dagger.BINDS
import dev.whosnickdoglio.lint.annotations.dagger.MODULE
import dev.whosnickdoglio.lint.annotations.dagger.MULTIBINDS
import dev.whosnickdoglio.lint.annotations.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.annotations.dagger.BINDS
import dev.whosnickdoglio.lint.annotations.dagger.PROVIDES
import dev.whosnickdoglio.lint.annotations.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.annotations.dagger.INJECT
import dev.whosnickdoglio.lint.annotations.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.annotations.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.annotations.dagger.COMPONENT
import dev.whosnickdoglio.lint.annotations.dagger.SUBCOMPONENT
import dev.whosnickdoglio.stubs.daggerAnnotations
import org.junit.Test
import org.junit.runner.RunWith
Expand Down
4 changes: 2 additions & 2 deletions lint/hilt/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ plugins {
dependencies {
ksp(libs.autoService.ksp)

implementation(projects.lint.shared)
implementation(projects.lint.annotationConstants)

compileOnly(libs.autoService.annotations)

testImplementation(projects.lint.testStubs)
testImplementation(testFixtures(projects.lint.annotationConstants))
}
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.annotations.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.annotations.dagger.INJECT
import dev.whosnickdoglio.lint.annotations.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.annotations.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.annotations.dagger.INJECT
import dev.whosnickdoglio.lint.annotations.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.annotations.dagger.MODULE
import dev.whosnickdoglio.lint.annotations.hilt.ENTRY_POINT
import dev.whosnickdoglio.lint.annotations.hilt.INSTALL_IN
import org.jetbrains.uast.UAnnotation
import org.jetbrains.uast.UClass
import org.jetbrains.uast.UElement
Expand Down
Loading

0 comments on commit 08bd70e

Please sign in to comment.