autonomousapps / autonomousapps/dependency-analysis-gradle-plugin

Support for inverse exclude condition within dependencyAnalysis configuration

Open
#760 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
2.2k
Forks
158
Avg merge
16h 25m
Merged PRs (30d)
46

Description

**Is your feature request related to a problem? Please describe.**
Today the configuration block supports the usage of `exclude` to indicate modules for whom the advice should be ignored but all other modules are opted in by default.

Imagine a scenario where you are going to refactor a single module in a large project. A reasonable first step might be to make sure that the consumption of that model across your codebase is correct.

So you could write the following configuration block to inspect the entire project and make sure that it is correctly being declared as a transitive dependency in all modules:
```
dependencyAnalysis {
issues {
all {
onUsedTransitiveDependencies {
severity(<'fail'|'warn'|'ignore'>) // default is 'warn'
include('my:module')
}
}
}
```

**Describe alternatives you've considered**
It seems to me like this would be most useful for the `onUnusedDependencies`, `onUsedTransitiveDependencies`,onIncorrectConfiguration`,onCompileOnly`,`onRuntimeOnly` advice.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the dependencyAnalysis configuration, especially issues > all and the onUnusedDependencies, onUsedTransitiveDependencies, onIncorrectConfiguration, onCompileOnly, and onRuntimeOnly advice. Done means the configuration can express the requested inverse exclude behavior for the relevant advice while preserving the existing exclude behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.