Sometimes you want to ignore a dependency and all its dependencies as well(example). The wildcard matcher (*) does not work for this scenario because it only allows for matching (grand)children of a dependency, not the dependency itself. Similarly, using "#ignore" on the top level dependency does not work because that would still report deprecations in its (grand)children.
Both of these are intentional:
*should not match the dependency itself because it supports the use case of ignoring all transitive dependencies without ignoring direct dependencies.
"#ignore"should not match transitive dependencies because it supports the use case where you acknowledge a deprecation in a direct dependency but don't necessary want to introduce more deprecations transitively.
I would prefer a solution that introduces an intuitive notation for ignoring a dependency and its entire tree, though I could be persuaded that an "#ignore" directive on a dependency should inherently ignore it's entire subtree.
Sometimes you want to ignore a dependency and all its dependencies as well(example). The wildcard matcher (
*
) does not work for this scenario because it only allows for matching (grand)children of a dependency, not the dependency itself. Similarly, using"#ignore"
on the top level dependency does not work because that would still report deprecations in its (grand)children.Both of these are intentional:
*
should not match the dependency itself because it supports the use case of ignoring all transitive dependencies without ignoring direct dependencies."#ignore"
should not match transitive dependencies because it supports the use case where you acknowledge a deprecation in a direct dependency but don't necessary want to introduce more deprecations transitively.I would prefer a solution that introduces an intuitive notation for ignoring a dependency and its entire tree, though I could be persuaded that an
"#ignore"
directive on a dependency should inherently ignore it's entire subtree.