0.12.5β
This is a re-release of 0.12.4.
π Bug Fixesβ
- don't crash if Anvil isn't in the buildScript classpath by @RBusarow in https://github.com/RBusarow/ModuleCheck/pull/944
- ignore suppress/noinspection names which don't fit the FindingName pattern by @RBusarow in https://github.com/RBusarow/ModuleCheck/pull/945
Other Changesβ
- GitHub release notes config by @RBusarow in https://github.com/RBusarow/ModuleCheck/pull/946
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 fromtestImplementation
@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 forpublish-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 theadditionalCodeGenerators
property andCodeGeneratorBinding
. 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β
- Added support for Static Analysis Results Interchange Format (SARIF) report output @RBusarow (#566)
π 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)
- disable the "use tab character" option in IDE codestyle @RBusarow (#607)
- replace
java-test-fixtures
usages with-testing
modules @RBusarow (#605) - Bump mermaid from 8.14.0 to 9.1.1 in /website @dependabot (#601)
- Dependency block to dependencies block @RBusarow (#600)
- split
up
:modulecheck-parsing:gradle
@RBusarow (#599) - Bump dagger from 2.41 to 2.42 @dependabot (#597)
- rename
modulecheck.reporting.logging.Logger
toMcLogger
@RBusarow (#593) - pull
Finding
apis out of:modulecheck-rules:api
and into their ow⦠@RBusarow (#591) - Fix execution optimization for KtLint
in
:modulecheck-plugin
@RBusarow (#590) - use the stable version of the plugin in CI @RBusarow (#589)
- suppress Detekt's ComplexMethod for single
when
statements @RBusarow (#584) - pull rules and configs into their own modules @RBusarow (#583)
- Bump kotest-assertions-core-jvm from 5.2.3 to 5.3.0 @dependabot (#579)
- Bump turbine from 0.7.0 to 0.8.0 @dependabot (#580)
- fix
BasePluginTest
's unusedstacktrace
parameter @RBusarow (#578) - add Detekt's SARIF reports to CI @RBusarow (#568)
- standardize hermit's definition
in
libs.versions.toml
@RBusarow (#567) - move
File.createSafely()
to production code @RBusarow (#565) - Bump dokka-gradle-plugin from 1.6.20 to 1.6.21 @dependabot (#563)
- Bump async from 2.6.3 to 2.6.4 in /website @dependabot (#543)
- Bump kotlin-reflect from 1.6.20 to 1.6.21 @dependabot (#553)
- Bump mermaid from 8.13.8 to 8.14.0 in /website @dependabot (#545)
- Bump dokka-gradle-plugin from 1.6.10 to 1.6.20 @dependabot (#544)
- Bump @mdx-js/react from 1.6.22 to 2.1.1 in /website @dependabot (#546)
- Bump antlr4 from 4.10 to 4.10.1 @dependabot (#550)
βΉοΈ Websiteβ
- remove the
google()
repository requirement from docs @RBusarow (#667) - 594 hook into root project check task @RBusarow (#611)
- replace
KaptMatcher
withCodeGeneratorBinding
@RBusarow (#610) - update Docusaurus to 2.0.0-beta.20 @RBusarow (#592)
- add support for sarif reporting @RBusarow (#566)
- strict rule/finding name conventions @RBusarow (#564)
- add
google()
repository to config docs @RBusarow (#559) - add missing docs for rules @RBusarow (#555)
- fix publishing @RBusarow (#548)
- release 0.12.0 @RBusarow (#547)
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 theAuto
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β
- Add the Depths rule @RBusarow (#278)
- New rule: Unused Android Extensions @tasomaniac (#440)
π 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
.png
s 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)