Skip to main content

0.12.5​

This is a re-release of 0.12.4.

πŸ› Bug Fixes​

Other Changes​

Full Changelog: https://github.com/RBusarow/ModuleCheck/compare/0.12.3...0.12.5

0.12.4​

This version was published with stale artifacts. Use 0.12.5 instead.

0.12.3​

πŸ› 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​

πŸ› Bug Fixes​

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

0.12.1​

πŸ—‘ 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​

  • add a discrete job in CI for publishing to mavenLocal, then cache it @RBusarow (#668)
  • update the build classpath baseline for the snapshot build's new runt… @RBusarow (#664)
  • use the current SNAPSHOT for plugin dogfooding @RBusarow (#663)
  • migrate TestKit tests away from the Specs DSLs @RBusarow (#660)
  • hook dependencyGuard into the check task @RBusarow (#661)
  • give Dokka explicit dependency upon KtLint tasks and more broadly dis… @RBusarow (#659)
  • Update dropbox-dependencyGuard to v0.2.0 @renovate (#657)
  • require comments for public APIs in Detekt, and add baselines @RBusarow (#656)
  • add dependency-guard and baselines @RBusarow (#654)
  • Update dependency prism-react-renderer to v1.3.3 @renovate (#653)
  • Update dependency com.android.tools.build:gradle to v7.2.0 @renovate (#620)
  • Update actions/setup-java action to v3 @renovate (#652)
  • Update dependency com.autonomousapps.dependency-analysis to v1.2.1 @renovate (#651)
  • Update actions/upload-artifact action to v3 @renovate (#629)
  • Update dependency com.gradleup.auto.manifest to v2 @renovate (#645)
  • Update react monorepo to v18 ( major) @renovate (#646)
  • remove github actions caching @RBusarow (#649)
  • remove dependabot @RBusarow (#648)
  • create a shared .gradle cache for TestKit tests @RBusarow (#640)
  • add the artifacts-check convention plugin @RBusarow (#615)
  • fix incorrect/duplicate maven artifact ids @RBusarow (#614)
  • revert KaptMatcher name to modulecheck.api.KaptMatcher @RBusarow (#613)

delete ConfiguredModule @RBusarow (#609)

ℹ️ Website​

Contributors​

@RBusarow

0.12.0​

πŸ’₯ 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​

Contributors​

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

0.11.3​

πŸš€ 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​

πŸ› Bug Fixes​

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

0.11.1​

πŸ› 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​

πŸ› 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)

0.10.0​

Initial release