diff --git a/src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java b/src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java index b88675377..0fda8b8a0 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/analyze/AbstractAnalyzeMojo.java @@ -78,7 +78,7 @@ public abstract class AbstractAnalyzeMojo extends AbstractMojo { private boolean verbose; /** - * Ignore Runtime/Provided/Test/System scopes for unused dependency analysis. + * Ignore runtime/provided/test/system scopes for unused dependency analysis. *
* Non-test scoped
list will be not affected.
*/
@@ -86,7 +86,7 @@ public abstract class AbstractAnalyzeMojo extends AbstractMojo {
private boolean ignoreNonCompile;
/**
- * Ignore Runtime scope for unused dependency analysis.
+ * Ignore runtime scope for unused dependency analysis.
*
* @since 3.2.0
*/
@@ -211,13 +211,18 @@ public abstract class AbstractAnalyzeMojo extends AbstractMojo {
* segment is treated as an implicit wildcard. *
*
* For example, org.apache.*
matches all artifacts whose group id starts with
- * org.apache.
, and :::*-SNAPSHOT
will match all snapshot artifacts.
+ * org.apache.
, and :::*-SNAPSHOT
matches all snapshot artifacts.
*
Certain dependencies that are known to be used and loaded by reflection + * are always ignored. This includes {@code org.slf4j:slf4j-simple::}.
+ * * @since 2.10 */ - @Parameter(defaultValue = "org.slf4j:slf4j-simple::") - private String[] ignoredUnusedDeclaredDependencies; + @Parameter + private String[] ignoredUnusedDeclaredDependencies = new String[0]; + + private String[] unconditionallyIgnoredDeclaredDependencies = {"org.slf4j:slf4j-simple::"}; /** * List of dependencies that are ignored if they are in not test scope but are only used in test classes. @@ -361,6 +366,7 @@ private boolean checkDependencies() throws MojoExecutionException { ignoredUnusedDeclared.addAll(filterDependencies(unusedDeclared, ignoredDependencies)); ignoredUnusedDeclared.addAll(filterDependencies(unusedDeclared, ignoredUnusedDeclaredDependencies)); + ignoredUnusedDeclared.addAll(filterDependencies(unusedDeclared, unconditionallyIgnoredDeclaredDependencies)); if (ignoreAllNonTestScoped) { ignoredNonTestScope.addAll(filterDependencies(nonTestScope, new String[] {"*"})); diff --git a/src/site/apt/examples/exclude-dependencies-from-dependency-analysis.apt.vm b/src/site/apt/examples/exclude-dependencies-from-dependency-analysis.apt.vm index 706127f14..4514937df 100644 --- a/src/site/apt/examples/exclude-dependencies-from-dependency-analysis.apt.vm +++ b/src/site/apt/examples/exclude-dependencies-from-dependency-analysis.apt.vm @@ -28,16 +28,18 @@ Exclude dependencies from dependency analysis A project's dependencies can be analyzed as part of the build process by binding the <<