Fork me on GitHub

license:aggregate-third-party-report

Note:

This goal should be used as a Maven report.

Full name:

org.codehaus.mojo:license-maven-plugin:2.4.0:aggregate-third-party-report

Description:

Generates a report of all third-parties detected in the module. Created on 22/05/16.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator goal.
  • Requires dependency resolution of artifacts in scope: test.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Since version: 1.10.

Optional Parameters

Name Type Since Description
<artifactFiltersUrl> String 1.18 A URL returning a plain text file that contains include/exclude artifact filters in the following format:
# this is a comment
include gaPattern org\.my-org:my-artifact
include gaPattern org\.other-org:other-artifact
exclude gaPattern org\.yet-anther-org:.*
include scope compile
include scope test
exclude scope system
include type jar
exclude type war

User Property: license.artifactFiltersUrl
<encoding> String 1.0 Encoding used to read and writes files.

Note: If nothing is filled here, we will use the system property file.encoding.


Default: ${project.build.sourceEncoding}
User Property: license.encoding
<excludedArtifacts> String 1.1 A filter to exclude some ArtifactsIds
User Property: license.excludedArtifacts
<excludedGroups> String 1.1 A filter to exclude some GroupIds
User Property: license.excludedGroups
<excludedScopes> String 1.1 A filter to exclude some scopes.
Default: system
User Property: license.excludedScopes
<excludedTypes> String 1.15 A filter to exclude some types.
User Property: license.excludedTypes
<excludeTransitiveDependencies> boolean 1.13 A filter to exclude transitive dependencies from excluded artifacts.
Default: false
User Property: license.excludeTransitiveDependencies
<executeOnlyOnRootModule> boolean 1.10 To generate report only on root module. Default value is true, since aggregate report should only be executed on root module.
Default: true
User Property: license.executeOnlyOnRootModule
Alias: aggregateThirdPartyReport.executeOnlyOnRootModule
<includedArtifacts> String 1.1 A filter to include only some ArtifactsIds
User Property: license.includedArtifacts
<includedGroups> String 1.1 A filter to include only some GroupIds
User Property: license.includedGroups
<includedScopes> String 1.1 A filter to include only some scopes, if let empty then all scopes will be used (no filter).
User Property: license.includedScopes
<includedTypes> String 1.15 A filter to include only some types, if let empty then all types will be used (no filter).
User Property: license.includedTypes
<includeOptional> boolean 1.19 If true both optional and non-optional dependencies will be included in the list of artifacts for creating the license report; otherwise only non-optional dependencies will be considered.
Default: true
User Property: license.includeOptional
<includeTransitiveDependencies> boolean 1.1 Include transitive dependencies when looking for missing licenses and downloading license files.
Default: true
User Property: license.includeTransitiveDependencies
<licenseMerges> List<String> 1.0 To merge licenses in final file.

Each entry represents a merge (first license is main license to keep), licenses are separated by |.

Example :

<licenseMerges>
<licenseMerge>The Apache Software License|Version 2.0,Apache License, Version 2.0</licenseMerge>
</licenseMerges>
</pre>

Note: This option will be overridden by licenseMergesUrl if it is used by command line.
<licenseMergesUrl> String 1.18 Location of file with the merge licenses in order to be used by command line. Note: This option overrides licenseMerges.
User Property: license.licenseMergesUrl
<missingFile> File 1.1 The file where to fill the license for dependencies with unknwon license.
Default: src/license/THIRD-PARTY.properties
User Property: license.missingFile
<missingFileUrl> String 1.15 The Url that holds the missing license dependency entries. This is an extension to missingFile. If set then the entries that will be found at this URL will be added additionally to the entries of the missing file.

NOTE:
the response of the URL endpoint must return content that matches the THIRD-PARTY.properties file!
User Property: license.missingFileUrl
<overrideFile> File 1.11 Deprecated. A file containing the override license information for dependencies. Note: Specify either overrideUrl (preferred) or overrideFile. If none of these is specified, then "src/license/override-THIRD-PARTY.properties" resolved against ${basedir} will be used if it exists.
User Property: license.overrideFile
<overrideUrl> String 1.17 A URL pointing at a property file with the override license information for dependencies. Note: Specify either overrideUrl (preferred) or overrideFile. If none of these is specified, then "src/license/override-THIRD-PARTY.properties" resolved against ${basedir} will be used if it exists.

An example of the file content:

org.jboss.xnio--xnio-api--3.3.6.Final=The Apache Software License, Version 2.0

User Property: license.overrideUrl
<skipAggregateThirdPartyReport> boolean 1.10 Skip to generate the report.
Default: false
User Property: license.skipAggregateThirdPartyReport
<useMissingFile> boolean 1.1 A flag to use the missing licenses file to consolidate the THID-PARTY file.
Default: false
User Property: license.useMissingFile
<useRepositoryMissingFiles> boolean 1.0 Load from repositories third party missing files.
Default: true
User Property: license.useRepositoryMissingFiles
<verbose> boolean 1.0 Flag to activate verbose mode.

Note: Verbose mode is always on if you starts a debug maven instance (says via -X).


Default: ${maven.verbose}
User Property: license.verbose

Parameter Details

<artifactFiltersUrl>

A URL returning a plain text file that contains include/exclude artifact filters in the following format:
# this is a comment
include gaPattern org\.my-org:my-artifact
include gaPattern org\.other-org:other-artifact
exclude gaPattern org\.yet-anther-org:.*
include scope compile
include scope test
exclude scope system
include type jar
exclude type war
  • Type: java.lang.String
  • Since: 1.18
  • Required: report.plugin.goal.no
  • User Property: license.artifactFiltersUrl

<encoding>

Encoding used to read and writes files.

Note: If nothing is filled here, we will use the system property file.encoding.

  • Type: java.lang.String
  • Since: 1.0
  • Required: report.plugin.goal.no
  • User Property: license.encoding
  • Default: ${project.build.sourceEncoding}

<excludedArtifacts>

A filter to exclude some ArtifactsIds
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.excludedArtifacts

<excludedGroups>

A filter to exclude some GroupIds
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.excludedGroups

<excludedScopes>

A filter to exclude some scopes.
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.excludedScopes
  • Default: system

<excludedTypes>

A filter to exclude some types.
  • Type: java.lang.String
  • Since: 1.15
  • Required: report.plugin.goal.no
  • User Property: license.excludedTypes

<excludeTransitiveDependencies>

A filter to exclude transitive dependencies from excluded artifacts.
  • Type: boolean
  • Since: 1.13
  • Required: report.plugin.goal.no
  • User Property: license.excludeTransitiveDependencies
  • Default: false

<executeOnlyOnRootModule>

To generate report only on root module. Default value is true, since aggregate report should only be executed on root module.
  • Type: boolean
  • Since: 1.10
  • Required: report.plugin.goal.no
  • User Property: license.executeOnlyOnRootModule
  • Default: true
  • Alias: aggregateThirdPartyReport.executeOnlyOnRootModule

<includedArtifacts>

A filter to include only some ArtifactsIds
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.includedArtifacts

<includedGroups>

A filter to include only some GroupIds
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.includedGroups

<includedScopes>

A filter to include only some scopes, if let empty then all scopes will be used (no filter).
  • Type: java.lang.String
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.includedScopes

<includedTypes>

A filter to include only some types, if let empty then all types will be used (no filter).
  • Type: java.lang.String
  • Since: 1.15
  • Required: report.plugin.goal.no
  • User Property: license.includedTypes

<includeOptional>

If true both optional and non-optional dependencies will be included in the list of artifacts for creating the license report; otherwise only non-optional dependencies will be considered.
  • Type: boolean
  • Since: 1.19
  • Required: report.plugin.goal.no
  • User Property: license.includeOptional
  • Default: true

<includeTransitiveDependencies>

Include transitive dependencies when looking for missing licenses and downloading license files.
  • Type: boolean
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.includeTransitiveDependencies
  • Default: true

<licenseMerges>

To merge licenses in final file.

Each entry represents a merge (first license is main license to keep), licenses are separated by |.

Example :

<licenseMerges>
<licenseMerge>The Apache Software License|Version 2.0,Apache License, Version 2.0</licenseMerge>
</licenseMerges>
</pre>

Note: This option will be overridden by licenseMergesUrl if it is used by command line.
  • Type: java.util.List<java.lang.String>
  • Since: 1.0
  • Required: report.plugin.goal.no

<licenseMergesUrl>

Location of file with the merge licenses in order to be used by command line. Note: This option overrides licenseMerges.
  • Type: java.lang.String
  • Since: 1.18
  • Required: report.plugin.goal.no
  • User Property: license.licenseMergesUrl

<missingFile>

The file where to fill the license for dependencies with unknwon license.
  • Type: java.io.File
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.missingFile
  • Default: src/license/THIRD-PARTY.properties

<missingFileUrl>

The Url that holds the missing license dependency entries. This is an extension to missingFile. If set then the entries that will be found at this URL will be added additionally to the entries of the missing file.

NOTE:
the response of the URL endpoint must return content that matches the THIRD-PARTY.properties file!
  • Type: java.lang.String
  • Since: 1.15
  • Required: report.plugin.goal.no
  • User Property: license.missingFileUrl

<overrideFile>

Deprecated. Use overrideUrl instead
A file containing the override license information for dependencies. Note: Specify either overrideUrl (preferred) or overrideFile. If none of these is specified, then "src/license/override-THIRD-PARTY.properties" resolved against ${basedir} will be used if it exists.
  • Type: java.io.File
  • Since: 1.11
  • Required: report.plugin.goal.no
  • User Property: license.overrideFile

<overrideUrl>

A URL pointing at a property file with the override license information for dependencies. Note: Specify either overrideUrl (preferred) or overrideFile. If none of these is specified, then "src/license/override-THIRD-PARTY.properties" resolved against ${basedir} will be used if it exists.

An example of the file content:

org.jboss.xnio--xnio-api--3.3.6.Final=The Apache Software License, Version 2.0
  • Type: java.lang.String
  • Since: 1.17
  • Required: report.plugin.goal.no
  • User Property: license.overrideUrl

<skipAggregateThirdPartyReport>

Skip to generate the report.
  • Type: boolean
  • Since: 1.10
  • Required: report.plugin.goal.no
  • User Property: license.skipAggregateThirdPartyReport
  • Default: false

<useMissingFile>

A flag to use the missing licenses file to consolidate the THID-PARTY file.
  • Type: boolean
  • Since: 1.1
  • Required: report.plugin.goal.no
  • User Property: license.useMissingFile
  • Default: false

<useRepositoryMissingFiles>

Load from repositories third party missing files.
  • Type: boolean
  • Since: 1.0
  • Required: report.plugin.goal.no
  • User Property: license.useRepositoryMissingFiles
  • Default: true

<verbose>

Flag to activate verbose mode.

Note: Verbose mode is always on if you starts a debug maven instance (says via -X).

  • Type: boolean
  • Since: 1.0
  • Required: report.plugin.goal.no
  • User Property: license.verbose
  • Default: ${maven.verbose}