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.0.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 plugin.
  • Requires dependency resolution of artifacts in scope: test.
  • Since version: 1.10.

Required Parameters

Name Type Since Description
<outputDirectory> File 1.1 The output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.
Default value is: ${project.reporting.outputDirectory}.

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 is: 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 value is: ${project.build.sourceEncoding}.
User property is: license.encoding.
<excludeTransitiveDependencies> boolean 1.13 A filter to exclude transitive dependencies from excluded artifacts.
Default value is: false.
User property is: license.excludeTransitiveDependencies.
<excludedArtifacts> String 1.1 A filter to exclude some ArtifactsIds
User property is: license.excludedArtifacts.
<excludedGroups> String 1.1 A filter to exclude some GroupIds
User property is: license.excludedGroups.
<excludedScopes> String 1.1 A filter to exclude some scopes.
Default value is: system.
User property is: license.excludedScopes.
<excludedTypes> String 1.15 A filter to exclude some types.
User property is: license.excludedTypes.
<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 value is: true.
User property is: license.executeOnlyOnRootModule.
Alias is: aggregateThirdPartyReport.executeOnlyOnRootModule.
<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 value is: true.
User property is: license.includeOptional.
<includeTransitiveDependencies> boolean 1.1 Include transitive dependencies when looking for missing licenses and downloading license files.
Default value is: true.
User property is: license.includeTransitiveDependencies.
<includedArtifacts> String 1.1 A filter to include only some ArtifactsIds
User property is: license.includedArtifacts.
<includedGroups> String 1.1 A filter to include only some GroupIds
User property is: 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 is: 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 is: license.includedTypes.
<licenseMerges> List 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 is: license.licenseMergesUrl.
<missingFile> File 1.1 The file where to fill the license for dependencies with unknwon license.
Default value is: src/license/THIRD-PARTY.properties.
User property is: 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 is: license.missingFileUrl.
<overrideFile> File 1.11 Deprecated. Use overrideUrl instead
User property is: 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 LicenseMojoUtils.DEFAULT_OVERRIDE_THIRD_PARTY 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 is: license.overrideUrl.
<skipAggregateThirdPartyReport> boolean 1.10 Skip to generate the report.
Default value is: false.
User property is: license.skipAggregateThirdPartyReport.
<useMissingFile> boolean 1.1 A flag to use the missing licenses file to consolidate the THID-PARTY file.
Default value is: false.
User property is: license.useMissingFile.
<useRepositoryMissingFiles> boolean 1.0 Load from repositories third party missing files.
Default value is: true.
User property is: 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 value is: ${maven.verbose}.
User property is: 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: 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: No
  • User Property: license.encoding
  • Default: ${project.build.sourceEncoding}

<excludeTransitiveDependencies>

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

<excludedArtifacts>

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

<excludedGroups>

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

<excludedScopes>

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

<excludedTypes>

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

<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: No
  • User Property: license.executeOnlyOnRootModule
  • Default: true
  • Alias: aggregateThirdPartyReport.executeOnlyOnRootModule

<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: 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: No
  • User Property: license.includeTransitiveDependencies
  • Default: true

<includedArtifacts>

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

<includedGroups>

A filter to include only some GroupIds
  • Type: java.lang.String
  • Since: 1.1
  • Required: 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: 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: No
  • User Property: license.includedTypes

<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
  • Since: 1.0
  • Required: 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: 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: 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: No
  • User Property: license.missingFileUrl

<outputDirectory>

The output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.
  • Type: java.io.File
  • Since: 1.1
  • Required: Yes
  • Default: ${project.reporting.outputDirectory}

<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 LicenseMojoUtils.DEFAULT_OVERRIDE_THIRD_PARTY resolved against ${basedir} will be used if it exists.
  • Type: java.io.File
  • Since: 1.11
  • Required: 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 LicenseMojoUtils.DEFAULT_OVERRIDE_THIRD_PARTY 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: No
  • User Property: license.overrideUrl

<skipAggregateThirdPartyReport>

Skip to generate the report.
  • Type: boolean
  • Since: 1.10
  • Required: 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: No
  • User Property: license.useMissingFile
  • Default: false

<useRepositoryMissingFiles>

Load from repositories third party missing files.
  • Type: boolean
  • Since: 1.0
  • Required: 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: No
  • User Property: license.verbose
  • Default: ${maven.verbose}