Fork me on GitHub

libyear:analyze

Full name:

io.github.mfoo:libyear-maven-plugin:0.0.1-SNAPSHOT:analyze

Description:

Analyze dependencies and calculate how old they are.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Binds by default to the lifecycle phase: verify.

Optional Parameters

Name Type Since Description
<dependencyExcludes> List<String> 1.0.0 Exclude these artifacts from consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:provided,*:*:*:*:*:system"


User property is: dependencyExcludes.
<dependencyIncludes> List<String> 1.0.0 Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"


Default value is: *.
User property is: dependencyIncludes.
<dependencyManagementExcludes> List<String> 1.0.0 Exclude these artifacts from consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:provided,*:*:*:*:*:system"


User property is: dependencyManagementExcludes.
<dependencyManagementIncludes> List<String> 1.0.0 Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"


Default value is: *.
User property is: dependencyManagementIncludes.
<maxLibYears> float 1.0. Whether to fail the build if the total number of libyears for the project exceeds this target.

In a multi-module project, this value applies to individual modules, not the parent(s).

Note: If you are using this in a project's pom.xml then you may accidentally cause issues when e.g. rebuilding older branches. Instead, it may make more sense to use this as a command line plugin execution flag in CI or in a Maven profile used for building releases.


Default value is: 0.0.
User property is: maxLibYears.
<pluginDependencyExcludes> List<String> 1.0.0 Exclude these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"


User property is: pluginDependencyExcludes.
<pluginDependencyIncludes> List<String> 1.0.0 Only take these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"


Default value is: *.
User property is: pluginDependencyIncludes.
<pluginManagementDependencyExcludes> List<String> 1.0.0 Exclude these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"


User property is: pluginManagementDependencyExcludes.
<pluginManagementDependencyIncludes> List<String> 1.0.0 Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"


Default value is: *.
User property is: pluginManagementDependencyIncludes.
<processDependencies> boolean 1.0. Whether to consider the dependencies pom section. If this is set to false the plugin won't analyze dependencies, but it might analyze e.g. plugins depending on configuration.
Default value is: true.
User property is: processDependencies.
<processDependencyManagement> boolean 1.0. Whether to consider the dependencyManagement pom section. If this is set to false, dependencyManagement is ignored.
Default value is: true.
User property is: processDependencyManagement.

Parameter Details

<dependencyExcludes>

Exclude these artifacts from consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:provided,*:*:*:*:*:system"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: dependencyExcludes

<dependencyIncludes>

Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: dependencyIncludes
  • Default: *

<dependencyManagementExcludes>

Exclude these artifacts from consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:provided,*:*:*:*:*:system"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: dependencyManagementExcludes

<dependencyManagementIncludes>

Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: dependencyManagementIncludes
  • Default: *

<maxLibYears>

Whether to fail the build if the total number of libyears for the project exceeds this target.

In a multi-module project, this value applies to individual modules, not the parent(s).

Note: If you are using this in a project's pom.xml then you may accidentally cause issues when e.g. rebuilding older branches. Instead, it may make more sense to use this as a command line plugin execution flag in CI or in a Maven profile used for building releases.

  • Type: float
  • Since: 1.0.
  • Required: No
  • User Property: maxLibYears
  • Default: 0.0

<pluginDependencyExcludes>

Exclude these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: pluginDependencyExcludes

<pluginDependencyIncludes>

Only take these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: pluginDependencyIncludes
  • Default: *

<pluginManagementDependencyExcludes>

Exclude these artifacts into consideration:
Comma-separated list of groupId:[artifactId[:version]] patterns

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,othergroup:*,anothergroup"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: pluginManagementDependencyExcludes

<pluginManagementDependencyIncludes>

Only take these artifacts into consideration.

Comma-separated list of extended GAV patterns.

Extended GAV: groupId:artifactId:version:type:classifier:scope

The wildcard "*" can be used as the only, first, last or both characters in each token. The version token does support version ranges.

Example: "mygroup:artifact:*,*:*:*:*:*:compile"

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.0
  • Required: No
  • User Property: pluginManagementDependencyIncludes
  • Default: *

<processDependencies>

Whether to consider the dependencies pom section. If this is set to false the plugin won't analyze dependencies, but it might analyze e.g. plugins depending on configuration.
  • Type: boolean
  • Since: 1.0.
  • Required: No
  • User Property: processDependencies
  • Default: true

<processDependencyManagement>

Whether to consider the dependencyManagement pom section. If this is set to false, dependencyManagement is ignored.
  • Type: boolean
  • Since: 1.0.
  • Required: No
  • User Property: processDependencyManagement
  • Default: true