Skip to content

Releases: rickbusarow/ModuleCheck

0.12.5

07 Feb 00:52
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • don't crash if Anvil isn't in the buildScript classpath by @RBusarow in #944
  • ignore suppress/noinspection names which don't fit the FindingName pattern by @RBusarow in #945

Other Changes

Full Changelog: 0.12.3...0.12.5

0.12.3

07 Jun 19:44
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • fix suppressing findings within the AGP DSL (#712)
  • parse the declarations of named companion objects and their members (#706)
  • treat annotation processor dependencies the same as runtime dependencies for McProject.uses() and overshot behavior (#701)
  • fix false positive for 'unused-dependency' when consuming debug source from testImplementation @tasomaniac (#685)
  • revert Kotlin to 1.6.10 to fix build issues in targets using 1.6.10 (#683)

🧰 Maintenance

  • Update dependency com.vanniktech:gradle-maven-publish-plugin to v0.20.0 (#707)
  • Update dependency com.autonomousapps.dependency-analysis to v1.4.0 (#698)
  • Update dependency com.osacky.doctor to v0.8.1 (#699)
  • Update docusaurus monorepo to v2.0.0-beta.21 (#691)
  • Update kotlinx-coroutines to v1.6.2 (#695)
  • Update dependency com.autonomousapps.dependency-analysis to v1.3.0 (#696)
  • Update dependency com.github.ben-manes.caffeine:caffeine to v3.1.1 (#694)
  • remove CI's tests-windows need for publish-maven-local @RBusarow (#693)
  • use Caffeine for caching, with LazyDeferred loaders @RBusarow (#692)
  • Update dropbox-dependencyGuard to v0.3.0 (#690)
  • don't sign -SNAPSHOT builds @RBusarow (#686)
  • disable KtLint's broken experimental:type-parameter-list-spacing rule @RBusarow (#681)
  • Update crazy-max/ghaction-github-pages action to v3 (#679)
  • update changelog for 0.12.2 release @RBusarow (#680)
  • Update dependency com.rickbusarow.module-check to v0.12.2 (#678)

Contributors

@RBusarow and @tasomaniac

0.12.2

26 May 12:01
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • false positives for unused kapt processors which are defined in additionalKaptMatchers (8c55fd1)

0.12.1

23 May 16:44
Compare
Choose a tag to compare

Changes

🗑 Deprecations

  • The names of all findings have been updated/standardized. Any declarations which were suppressing
    a finding with the old ID (via @Suppress("someFinding") or //suppress=someFinding) will still
    work, but they should be updated to use the new names.
    See the migrations guide
  • The method for defining additionalKaptMatchers in the Gradle DSL has been deprecated, replaced
    with the additionalCodeGenerators property and CodeGeneratorBinding.
    See the migrations guide

💥 Breaking Changes

  • The base :moduleCheck task will now automatically hook into the root project's :check task, if
    one
    exists. @RBusarow (#611)

🚀 Features

🐛 Bug Fixes

  • don't find must-be-api if the project is already an api dependency also @RBusarow (#666)
  • remove AGP and KGP from the plugin's runtime classpath (079ab9d)
  • fix matching to custom kaptMatchers @RBusarow (#658)
  • properly use settings to determine which kinds of depth output to create @RBusarow (#647)
  • fix relative paths for custom graph report directory @RBusarow (#612)
  • use type-safe accessor "path" when adding a dependency with type-safe syntax @RBusarow (#608)
  • evaluate suppress/noinspection annotations eagerly @RBusarow (#604)
  • fixes false negative for unused kapt plugin when there are no processors @RBusarow (#603)
  • fix Dagger NoSuchMethodError for dagger.internal.Preconditions.checkNotNullFromProvides in SNAPSHOT @RBusarow (#570)

🧰 Maintenance

Read more

0.12.0

15 Apr 14:43
Compare
Choose a tag to compare

Changes

💥 Breaking Changes

  • The autoCorrect property in the Gradle settings DSL has been removed. Instead, to perform a check with auto-correct, add the Auto suffix to the task name.
    # perform all checks and fail if errors are found
    ./gradlew moduleCheck
    
    # perform all checks and auto-correct if possible
    ./gradlew moduleCheckAuto
  • Tasks are no longer generated for most individual rules. Instead, rules should be toggled via the Gradle DSL and can be invoked through ./gradlew modulecheck or ./gradlew moduleCheckAuto.

📐 New Rules

🚀 Features

  • Add support for depths, dotviz dependency graph, checkstyle, and plaintext result reporting @RBusarow (#243)

🐛 Bug Fixes

  • Add a test case for false positive @tasomaniac (#419)
  • Don't call a dependency overshot if it's already declared in that source set @RBusarow (#521)
  • don't try to parse .pngs as xml @RBusarow (#522)
  • fix parsing xml resource declarations when there's a dot in the name @RBusarow (#512)
  • Fix false positive for unusedDependency when a resource from the dependency is used with R from the dependent in a downstream project @RBusarow (#510)
  • better modeling for generated databinding declarations and references @RBusarow (#509)
  • count layout files and @+id/__ declarations as part of a module's declarations @RBusarow (#499)
  • Support the alternative usage of kapt plugin @tasomaniac (#481)
  • add new dependency declarations even if their transitive source can't be found @RBusarow (#469)
  • don't generate BuildConfig if it's ignored in Android settings @RBusarow (#470)
  • force single-threaded GroovyLangParser access @RBusarow (#463)
  • fix false positive for disableViewBinding when used in debug source set of different module @RBusarow (#446)
  • don't swallow a newline when replacing a dependency with a preceding blank line @RBusarow (#444)
  • better handling for detecting complex precompiled configuration names @RBusarow (#442)
  • support multiple android base packages @RBusarow (#411)
  • support .java files without a package declaration @RBusarow (#400)
  • strip illegal characters from XML before parsing @RBusarow (#376)
  • fix auto-correct when using a non-standard config name @RBusarow (#368)
  • fix false positive for kapt processors in non-kapt configurations @RBusarow (#350)
  • don't allow projects to inherit themselves @RBusarow (#343)
  • update configuration docs @RBusarow (#335)
  • always create depth and graph reports when running their explicit tasks @RBusarow (#332)
  • collect depth info after applying changes @RBusarow (#331)
  • fix testFixtures handling in OverShotDependencyFinding @RBusarow (#297)
  • treat testFixtures and the associated main sources like different projects @RBusarow (#288)
  • correctly apply the testFixtures(...) wrapper for replaced/added dependencies @RBusarow (#287)

ℹ️ Website

New Contributors

Contributors

@RBusarow, @diego-gomez-olvera and @tasomaniac

Full Changelog: 0.11.3...0.12.0

0.11.3

28 Oct 14:59
Compare
Choose a tag to compare

Changes

🚀 Features

  • support suppressing findings (#235)

🐛 Bug Fixes

  • support testFixtures (#232)

🧰 Maintenance

  • Bump kotlinpoet from 1.10.1 to 1.10.2 (#233)
  • Bump gradle-plugin from 2.3.6 to 2.3.7 (#229)

ℹ️ Website

  • use titles in docs code snippets (#237)
  • clarify CI workflow docs (#221)
  • add example CI workflow to docs (#220)

0.11.2

14 Oct 01:58
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • support overshot dependencies (#217)
  • sorting fixes (#215)

0.11.1

11 Oct 22:13
Compare
Choose a tag to compare

Changes

🐛 Bug Fixes

  • support constant or enum declarations in Java classes (#209)
  • include generated data/viewbinding objects as declarations (#208)
  • support closures in dependency declarations (#205)
  • count resources as R references when used in AndroidManifest.xml (#203)

0.11.0 - Groovy auto-correct support

08 Oct 14:18
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Support generated manifests (#197)
  • fix redundant "from: " output (#193)
  • support Groovy parsing (#190)
  • capture a finding's log string before it's fixed (#184)
  • include class literal expressions when looking for type references (#177)
  • check for Android kotlin sources (#173)

Version 0.10.0

27 Jul 17:28
ccdf780
Compare
Choose a tag to compare

Initial release