Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: WhosNickDoglio/dagger-rules
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f57805354b7497c9741457776d6ac7b9a683ef4e
Choose a base ref
..
head repository: WhosNickDoglio/dagger-rules
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9138d1140a1f8abd78f97f6b415ee415f7851388
Choose a head ref
Showing with 270 additions and 179 deletions.
  1. +4 −4 .github/actions/setup/action.yml
  2. +4 −4 .github/workflows/ci.yml
  3. +1 −1 .github/workflows/docs.yml
  4. +1 −1 .github/workflows/git-town.yml
  5. +2 −2 build-logic/gradle/wrapper/gradle-wrapper.properties
  6. +2 −1 build-logic/gradlew
  7. +1 −1 build-logic/settings.gradle.kts
  8. +12 −12 gradle/libs.versions.toml
  9. +2 −2 gradle/wrapper/gradle-wrapper.properties
  10. +2 −1 gradlew
  11. +4 −0 lint/annotation-constants/src/testFixtures/java/dev/whosnickdoglio/stubs/Dagger.kt
  12. +2 −0 lint/annotation-constants/src/testFixtures/java/dev/whosnickdoglio/stubs/Hilt.kt
  13. +3 −0 ...l/src/test/java/dev/whosnickdoglio/anvil/detectors/ContributesBindingMustHaveSuperDetectorTest.kt
  14. +4 −0 .../src/test/java/dev/whosnickdoglio/anvil/detectors/FavorContributesBindingOverBindsDetectorTest.kt
  15. +4 −0 lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesBindingDetectorTest.kt
  16. +6 −0 lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/MissingContributesToDetectorTest.kt
  17. +3 −3 lint/anvil/src/test/java/dev/whosnickdoglio/anvil/detectors/NoAnvilInJavaDetectorTest.kt
  18. +22 −18 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ComponentMustBeAbstractDetectorTest.kt
  19. +2 −0 ...st/java/dev/whosnickdoglio/dagger/detectors/ConstructorInjectionOverFieldInjectionDetectorTest.kt
  20. +8 −0 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/CorrectBindsUsageDetectorTest.kt
  21. +10 −0 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/MissingModuleAnnotationDetectorTest.kt
  22. +53 −48 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/MultipleScopesDetectorTest.kt
  23. +12 −0 ...er/src/test/java/dev/whosnickdoglio/dagger/detectors/ScopedWithoutInjectAnnotationDetectorTest.kt
  24. +2 −0 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/StaticProvidesDetectorTest.kt
  25. +12 −40 lint/dagger/src/test/java/dev/whosnickdoglio/dagger/detectors/ValidComponentMethodDetectorTest.kt
  26. +52 −30 lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/EntryPointMustBeAnInterfaceDetectorTest.kt
  27. +2 −0 lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingAndroidEntryPointDetectorTest.kt
  28. +4 −0 ...lt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltAndroidAppAnnotationDetectorTest.kt
  29. +4 −0 ...ilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingHiltViewModelAnnotationDetectorTest.kt
  30. +28 −9 lint/hilt/src/test/java/dev/whosnickdoglio/hilt/detectors/MissingInstallInDetectorTest.kt
  31. +2 −2 settings.gradle.kts
8 changes: 4 additions & 4 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -8,21 +8,21 @@ runs:
using: "composite"
steps:
- name: set up JDK 23
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
with:
distribution: 'zulu'
java-version: '23'
- name: Set up jemalloc
uses: kaeawc/setup-jemalloc@97ffdab77f76db0584b4d9cfb036fab6457d5526 # v0.0.3
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4
uses: gradle/actions/setup-gradle@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4
with:
cache-encryption-key: ${{ inputs.encryption_key }}

# Stolen from here https://github.com/kaeawc/android-build/blob/a86b15e3cbc5d36339a97d09f46c7a22e276ff7f/.github/actions/gradle-task-run/action.yml#L140
- name: "Restore Android SDK Platform Tools"
id: cache-android-platform-tools
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
with:
path: |
/usr/local/lib/android/sdk/platform-tools
@@ -32,7 +32,7 @@ runs:
if: steps.cache-android-platform-tools.outputs.cache-hit != 'true'
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3.2.2
- name: "Save Android SDK Platform Tools"
uses: actions/cache/save@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
uses: actions/cache/save@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
if: steps.cache-android-platform-tools.outputs.cache-hit != 'true'
with:
path: |
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ jobs:
with:
encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@0bdd871935719febd78681f197cd39af5b6e16a6 # v4
uses: gradle/actions/wrapper-validation@473878a77f1b98e2b5ac4af93489d1656a80a5ed # v4
Build:
runs-on: ubuntu-latest
needs: [ Validate-Gradle ]
@@ -38,7 +38,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Danger
uses: danger/kotlin@9f3eb34dc1a5d5d69bddc64441b2eabd96462864 # 1.3.2
uses: danger/kotlin@783edcc5daee0a66ce14aecdf656f86a7b093135 # 1.3.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lint:
@@ -65,12 +65,12 @@ jobs:
- name: Run Unit Tests
run: ./gradlew kover-aggregate:koverXmlReport --no-build-cache
- name: Codecov
uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v5.0.2
with:
files: ./kover-aggregate/build/reports/kover/report.xml
token: ${{ secrets.CODE_COV_TOKEN }}
- name: Publish Test Report
uses: mikepenz/action-junit-report@62516aa379bff6370c95fd5894d5a27fb6619d9b # v5
uses: mikepenz/action-junit-report@a427a90771729d8f85b6ab0cdaa1a5929cab985d # v5
if: success() || failure() # always run even if the previous step fails
with:
report_paths: '**/build/reports/kover/report.xml'
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
with:
key: ${{ github.ref }}
path: .cache
2 changes: 1 addition & 1 deletion .github/workflows/git-town.yml
Original file line number Diff line number Diff line change
@@ -16,4 +16,4 @@ jobs:

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: git-town/action@379e52b8a5c26c8350c75b45597b3ca7316683d7 # v1
- uses: git-town/action@7cec053e109396e49a15328a749b32552e6f91db # v1
4 changes: 2 additions & 2 deletions build-logic/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
distributionSha256Sum=57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
3 changes: 2 additions & 1 deletion build-logic/gradlew
Original file line number Diff line number Diff line change
@@ -86,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
2 changes: 1 addition & 1 deletion build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -36,4 +36,4 @@ dependencyResolutionManagement {
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
}

plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0" }
plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" }
24 changes: 12 additions & 12 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
[versions]
agp = "8.8.0"
desugar = "2.1.4"
dependencyAnalysis = "2.6.1"
kotlin = "2.1.0"
agp = "8.7.2"
desugar = "2.1.3"
dependencyAnalysis = "2.4.2"
kotlin = "2.0.21"
ktfmt = "0.53"
lint = "31.8.0"
lint = "31.7.2"
detekt = "1.23.7"
kover = "0.9.1"
spotless = "7.0.1"
kover = "0.8.3"
spotless = "7.0.0.BETA4"
jdk = "23"
sort = "0.14"
dagger = "2.55"
sort = "0.13"
dagger = "2.52"

[plugins]
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
@@ -23,9 +23,9 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
ksp = { id = "com.google.devtools.ksp", version = "2.1.0-1.0.29" }
ksp = { id = "com.google.devtools.ksp", version = "2.0.21-1.0.28" }
sortDependencies = { id = "com.squareup.sort-dependencies", version.ref = "sort" }
anvil = { id = "com.squareup.anvil", version = "2.5.0" }
anvil = { id = "com.squareup.anvil", version = "2.4.9" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger" }

[libraries]
@@ -52,7 +52,7 @@ detekt-ruleauthors = { module = "io.gitlab.arturbosch.detekt:detekt-rules-ruleau
detekt-api = { module = "io.gitlab.arturbosch.detekt:detekt-api", version.ref = "detekt" }
detekt-test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version.ref = "detekt" }

androidx-gradle-lints = { module = "androidx.lint:lint-gradle", version = "1.0.0-alpha03" }
androidx-gradle-lints = { module = "androidx.lint:lint-gradle", version = "1.0.0-alpha02" }
androidx-core = { module = "androidx.core:core-ktx", version = "1.15.0" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.0" }
androidx-activity = { module = "androidx.activity:activity", version = "1.9.3" }
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
distributionSha256Sum=57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
3 changes: 2 additions & 1 deletion gradlew
Original file line number Diff line number Diff line change
@@ -86,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Original file line number Diff line number Diff line change
@@ -19,6 +19,7 @@ public val daggerAnnotations: TestFile =
annotation class Component
annotation class Subcomponent
"""
.trimIndent()
)

public val daggerMultibindingAnnotations: TestFile =
@@ -31,6 +32,7 @@ public val daggerMultibindingAnnotations: TestFile =
annotation class StringKey(val key: String)
annotation class IntKey(val key: Int)
"""
.trimIndent()
)

public val daggerAssistedAnnotations: TestFile =
@@ -42,6 +44,7 @@ public val daggerAssistedAnnotations: TestFile =
annotation class AssistedFactory
annotation class AssistedInject
"""
.trimIndent()
)

public val javaxAnnotations: TestFile =
@@ -52,4 +55,5 @@ public val javaxAnnotations: TestFile =
annotation class Inject
annotation class Scope
"""
.trimIndent()
)
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ val hiltAnnotations =
annotation class HiltViewModel
"""
.trimIndent()
),
TestFiles.kotlin(
"""
@@ -31,5 +32,6 @@ val hiltAnnotations =
annotation class InstallIn
annotation class EntryPoint
"""
.trimIndent()
),
)
Original file line number Diff line number Diff line change
@@ -73,6 +73,7 @@ class ContributesBindingMustHaveSuperDetectorTest {
~~~~~~~~~~~~~~~~~
0 errors, 1 warnings
"""
.trimIndent()
)
.expectWarningCount(1)
}
@@ -104,6 +105,7 @@ class ContributesBindingMustHaveSuperDetectorTest {
~${annotation.substringAfterLast(".").map { "~" }.joinToString(separator = "")}
1 errors, 0 warnings
"""
.trimIndent()
)
.expectWarningCount(0)
.expectFixDiffs(
@@ -114,6 +116,7 @@ class ContributesBindingMustHaveSuperDetectorTest {
+ @$CONTRIBUTES_TO
+
"""
.trimIndent()
)
}

Original file line number Diff line number Diff line change
@@ -76,6 +76,7 @@ class FavorContributesBindingOverBindsDetectorTest {
~~~~~~~~~~~~~~~~~
0 errors, 2 warnings
"""
.trimIndent()
)
.expectWarningCount(2)
}
@@ -122,6 +123,7 @@ class FavorContributesBindingOverBindsDetectorTest {
~~~~~~~~~~~~~~~~~
0 errors, 2 warnings
"""
.trimIndent()
)
.expectWarningCount(2)
}
@@ -195,6 +197,7 @@ class FavorContributesBindingOverBindsDetectorTest {
~~~~~~~~~~
0 errors, 2 warnings
"""
.trimIndent()
)
.expectWarningCount(2)
}
@@ -237,6 +240,7 @@ class FavorContributesBindingOverBindsDetectorTest {
~~~~~~~~~~
0 errors, 2 warnings
"""
.trimIndent()
)
.expectWarningCount(2)
}
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ class MissingContributesBindingDetectorTest {
~~~~~~~~~~~~~~~~~
0 errors, 1 warnings
"""
.trimIndent()
)
.expectWarningCount(1)
.expectFixDiffs(
@@ -54,6 +55,7 @@ class MissingContributesBindingDetectorTest {
@@ -5 +5
+ @com.squareup.anvil.annotations.ContributesMultibinding
"""
.trimIndent()
)
}

@@ -153,6 +155,7 @@ class MissingContributesBindingDetectorTest {
~~~~~~~~~~~~~
0 errors, 1 warnings
"""
.trimIndent()
)
.expectWarningCount(1)
.expectFixDiffs(
@@ -164,6 +167,7 @@ class MissingContributesBindingDetectorTest {
@@ -6 +6
+ @com.squareup.anvil.annotations.ContributesMultibinding
"""
.trimIndent()
)
}

Original file line number Diff line number Diff line change
@@ -42,6 +42,7 @@ class MissingContributesToDetectorTest {
~~~~~~~~
1 errors, 0 warnings
"""
.trimIndent()
)
.expectErrorCount(1)
.expectFixDiffs(
@@ -50,6 +51,7 @@ class MissingContributesToDetectorTest {
@@ -4 +4
+ @com.squareup.anvil.annotations.ContributesTo
"""
.trimIndent()
)
}

@@ -122,6 +124,7 @@ class MissingContributesToDetectorTest {
~~~~~~~~
1 errors, 0 warnings
"""
.trimIndent()
)
.expectErrorCount(1)
.expectFixDiffs(
@@ -130,6 +133,7 @@ class MissingContributesToDetectorTest {
@@ -10 +10
+ @com.squareup.anvil.annotations.ContributesTo
"""
.trimIndent()
)
}

@@ -239,6 +243,7 @@ class MissingContributesToDetectorTest {
~~~~~~~~
1 errors, 0 warnings
"""
.trimIndent()
)
.expectErrorCount(1)
.expectFixDiffs(
@@ -247,6 +252,7 @@ class MissingContributesToDetectorTest {
@@ -7 +7
+ @com.squareup.anvil.annotations.ContributesTo
"""
.trimIndent()
)
}

Original file line number Diff line number Diff line change
@@ -48,11 +48,10 @@ class NoAnvilInJavaDetectorTest {
See https://whosnickdoglio.dev/dagger-rules/rules/#anvil-cannot-be-used-from-java for more information. [NoAnvilJavaUsage]
@${annotation.substringAfterLast(".")}$scopeString
~${
annotation.substringAfterLast(".").map { "~" }.joinToString(separator = "")
}${scopeString.map { "~" }.joinToString(separator = "")}
~${annotation.substringAfterLast(".").map { "~" }.joinToString(separator = "")}${scopeString.map { "~" }.joinToString(separator = "")}
1 errors, 0 warnings
"""
.trimIndent()
)
.expectErrorCount(1)
.expectFixDiffs(
@@ -61,6 +60,7 @@ class NoAnvilInJavaDetectorTest {
@@ -3 +3
- @${annotation.substringAfterLast(".")}$scopeString
"""
.trimIndent()
)
}

Loading