jigsaw:generate
Full name:
io.earcam.maven.plugin:io.earcam.maven.plugin.jigsaw:0.0.4:generate
Description:
Generate
module-info.class and/or
module-info.java
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope: compile.
- Binds by default to the lifecycle phase: prepare-package.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<moduleName> | String | - | Defaults to the property ${project.artifactId}. Default value is: ${project.artifactId}. |
<moduleVersion> | String | - | Defaults to the property ${project.version}. Default value is: ${project.version}. |
<targetFile> | File | - | The module-info.class file. Default value is recommended; module-info.class must appear in the root of the JAR, with the exception of Multi-Release JARs. Default value is: ${project.build.outputDirectory}/module-info.class. User property is: targetFile. |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<addMetaInfServices> | boolean | - | Add provides clauses to the module-info definition for entries found in META-INF/services. Default value is: true. User property is: addMetaInfServices. |
<exports> | Export[] | - | By default, nothing is exported. An export clause has fields packageRegex and to, where the later is CSV of module names.
<exports> <export> <packageRegex>com\.acme\.api\..*</packageRegex> </export> <export> <packageRegex>com\.acme\.a\..*</packageRegex> <to> com.acme.b, com.acme.c, com.acme.d </to> </export> </exports> |
<generatedSourceDirectory> | File | - | (Directory) Where to place the module-info.java source file. |
<opens> | Export[] | - | By default, nothing is opened. An open clause has fields packageRegex and to, where the later is CSV of module names.
<opens> <open> <packageRegex>com\.acme\.api\..*</packageRegex> </open> <open> <packageRegex>com\.acme\.a\..*</packageRegex> <to> com.acme.b, com.acme.c, com.acme.d </to> </open> </opens> |
<skip> | boolean | - | Skip execution of this plugin Default value is: false. User property is: skip. |
<uses> | List | - | Manually specify any module uses clauses |
<verbose> | boolean | - | Log more information from this plugin (debug-level messages promoted to info-level) Default value is: false. User property is: verbose. |
Parameter Details
<addMetaInfServices>
Add
provides clauses to the
module-info definition for entries found in
META-INF/services.
- Type: boolean
- Required: No
- User Property: addMetaInfServices
- Default: true
<exports>
By default, nothing is exported. An export clause has fields
packageRegex and
to, where the later is CSV of module names.
<exports> <export> <packageRegex>com\.acme\.api\..*</packageRegex> </export> <export> <packageRegex>com\.acme\.a\..*</packageRegex> <to> com.acme.b, com.acme.c, com.acme.d </to> </export> </exports>
- Type: io.earcam.maven.plugin.jigsaw.Export[]
- Required: No
<generatedSourceDirectory>
(Directory) Where to place the
module-info.java source file.
- Type: java.io.File
- Required: No
<moduleName>
Defaults to the property
${project.artifactId}.
- Type: java.lang.String
- Required: Yes
- Default: ${project.artifactId}
<moduleVersion>
Defaults to the property
${project.version}.
- Type: java.lang.String
- Required: Yes
- Default: ${project.version}
<opens>
By default, nothing is opened. An open clause has fields
packageRegex and
to, where the later is CSV of module names.
<opens> <open> <packageRegex>com\.acme\.api\..*</packageRegex> </open> <open> <packageRegex>com\.acme\.a\..*</packageRegex> <to> com.acme.b, com.acme.c, com.acme.d </to> </open> </opens>
- Type: io.earcam.maven.plugin.jigsaw.Export[]
- Required: No
<targetFile>
The
module-info.class file. Default value is recommended;
module-info.class must appear in the root of the JAR, with the exception of Multi-Release JARs.
- Type: java.io.File
- Required: Yes
- User Property: targetFile
- Default: ${project.build.outputDirectory}/module-info.class
<verbose>
Log more information from this plugin (debug-level messages
promoted to info-level)
- Type: boolean
- Required: No
- User Property: verbose
- Default: false