-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dependency:analyze functionality #17
Comments
Can you explain the problem you are trying to solve, maybe using small example project and observed/desired behaviour? |
I want a better replacement for dependency:analyze dependency:analyze is limited, as stated here Natural goal is to keep dependencies at minimum, this is good by many reasons: minimizing chance of incompatibility, breakage, integration problems, abandonment of one of dependencies. Unavoidable requirement on a way to this goal is knowing your dependencies. You can have some dependencies on you dependency-list just in case. You can use classes from package not stated on dependency-list (as a transitive dependency). Using transitive dependencies is bad since it's additional implicit assumption that some package will always depend on some another package. And it is very difficult to find what's wrong when this assumption is not true any more. |
Module public class Foo {
public static final String FOO = "hello world";
} Module @MyAnnotation(value = Foo.FOO) Now, suppose This situation can be quite difficult to figure out, especially if you don't understand how the plugin works and aren't intimately familiar with inlining rules, class files, etc. However, in my experience, it rarely occurs in practice. |
maven-dependency-plugin provides very useful analyze goal. This goal allows you to find out unused and indirect dependencies.
maven-dependency-plugin operates over runtime dependencies only. The result is that if you use an annotation or compile-time constant from some package, this package will be considered unused. I think takari can overcome this limitation using compile-time information gathering, much like
accessRulesViolation
option works.The text was updated successfully, but these errors were encountered: