license:compliance

Full name:

org.honton.chas:license-maven-plugin:0.0.5:compliance

Description:

This compliance goal checks all dependencies in the build and active profile sections for compliance with acceptable licenses. For each dependency, this goal checks if any of the dependency licenses matches any of the acceptable licenses. A match is successful if either the dependency license URL matches the acceptable license URL regular expression, or the dependency license name matches the acceptable license name regular expression. The lack of a license in the dependency will cause this goal to fail.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: validate.

Optional Parameters

Name Type Since Description
<acceptableLicenseResources> String - The resource containing licenses that are allowed.
User property is: compliance.licenses.
<acceptableLicenseResourcesFilesPaths> List<String> - Paths to files containing resources with licenses that are allowed
User property is: compliance.licenses.filesPaths.
<acceptableLicenses> List<LicenseRegex> - The licenses that are allowed. Each license has a name and URL regular expression. If not set, licenses from acceptableLicenseResource are used.
<artifact> boolean - Check main artifact
Default value is: false.
User property is: compliance.artifact.
<excludes> List<String> - The dependencies to exclude from checking compliance. These will be in the form of groupId:artifactId[[:type]:classifier]. Wildcard characters '*' and '?' can be used to do glob-like pattern matching.
User property is: compliance.excludes.
<scopes> String - The dependency scopes to check.
Default value is: compile, runtime, provided, test.
User property is: compliance.scopes.
<skipCompliance> boolean - Skip checking licence compliance
Default value is: false.
User property is: compliance.skip.

Parameter Details

<acceptableLicenseResources>

The resource containing licenses that are allowed.
  • Type: java.lang.String
  • Required: No
  • User Property: compliance.licenses

<acceptableLicenseResourcesFilesPaths>

Paths to files containing resources with licenses that are allowed
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: compliance.licenses.filesPaths

<acceptableLicenses>

The licenses that are allowed. Each license has a name and URL regular expression. If not set, licenses from acceptableLicenseResource are used.
  • Type: java.util.List<org.honton.chas.license.maven.plugin.compliance.LicenseRegex>
  • Required: No

<artifact>

Check main artifact
  • Type: boolean
  • Required: No
  • User Property: compliance.artifact
  • Default: false

<excludes>

The dependencies to exclude from checking compliance. These will be in the form of groupId:artifactId[[:type]:classifier]. Wildcard characters '*' and '?' can be used to do glob-like pattern matching.
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: compliance.excludes

<scopes>

The dependency scopes to check.
  • Type: java.lang.String
  • Required: No
  • User Property: compliance.scopes
  • Default: compile, runtime, provided, test

<skipCompliance>

Skip checking licence compliance
  • Type: boolean
  • Required: No
  • User Property: compliance.skip
  • Default: false