autonomousapps / autonomousapps/dependency-analysis-gradle-plugin
Support for inverse exclude condition within dependencyAnalysis configuration
- 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
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