ModuleCheck icon indicating copy to clipboard operation
ModuleCheck copied to clipboard

Fast dependency graph validation for Gradle

Results 85 ModuleCheck issues
Sort by recently updated
recently updated
newest added

Currently, the DSL allows for individual rule toggles, but auto-correct behavior is global. And the only rule which has a root-level "ignore" list is `UnusedDependency` with `ignoreUnusedFinding`. Other findings have...

If the target module has a convention plugin, that convention plugin may have its own non-Google `android { ... }` configuration block. example: ```groovy plugins { id `company-convention-plugin` } ourCompany...

bug

I had a lot of false positives when I tried `disableAndroidResources` feature. This happens especially when resources are used across modules. Imagine a module has a String resource that is...

bug

https://docs.gradle.org/7.0-rc-1/userguide/declaring_dependencies.html#sec:type-safe-project-accessors ``` kotlin dependencies { // type-safe alternative to project(":commons:utils:numbers") implementation(projects.commons.utils.numbers) } ```

feature

If a module has some Kotlin file using `@file:JvmName(...)`, then Java classes will consume any top-level declarations using that name. For instance: ```kotlin @file:JvmName("Objects") package com.example ``` The java classes...

bug

For a huge project which has been operating without ModuleCheck, the first run should find hundreds or thousands of issues. It's likely that the maintainers would prefer a gradual adoption...

feature

The current implementation re-parses the build file for every single finding. This is extremely time-consuming on huge projects with lots of findings. Some observations: - "inherited" findings can't really be...

feature

`ModuleCheckTask` as it exists right now violates rules about configuration cache arguments. This basically boils down to passing a Gradle `Project` into the task. The existing `GradleProjectProvider` will need to...

feature

...instead of just doing everything lazily and in-memory. At the end of parsing a module, serialize all the data collected and write it somewhere in `./build` as json or proto....

feature

AndroidManifests can reference Android resources (strings, styles, etc.) and classes like Activities. Currently, any references inside an `AndroidManifest.xml` do not count as dependency references. So for instance, if a `:moduleA`...

bug