Description
The dependency plugin is an essential tool to keep any build sane and from going off the rails with stale and bad dependencies. However, there are the few very odd corner cases where a dependency must be on the class path to ensure compilation but it is not detectable from byte code.
The most prominent example for this are the com.google.code.findbugs:annotations and com.google.code.findbugs:jsr305 jars, which only contain annotations but very often lead to unresolvable compilation problems with both jars present on the classpath.
The analyze goals should have facilities to
- list dependencies that should be ignored if they are declared but unused
- list dependencies that should be ignored if they are undeclared but used
- list dependencies that should be ignored in either case.