spring-properties:generate-and-aggregate-documents
Full name:
io.github.tia-ru:spring-properties-maven-plugin:1.0:generate-and-aggregate-documents
Description:
This goal reads all the given `META-INF/spring-configuration-metadata.json` files from the given/specified sources and it will be generating one single document that will contain all documentation created by the given sources. This goal is good for a multi module setup, it is able to read multiple files and aggregate them.
Attributes:
- Requires a Maven project to be executed.
- Executes as an aggregator goal.
- Requires dependency resolution of artifacts in scope:
compile+runtime
. - The goal is thread-safe and supports parallel builds.
- Since version:
0.1
. - Binds by default to the lifecycle phase:
prepare-package
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<name> |
String |
0.1 |
Main header section name. Default: ${project.name} User Property: name |
<outputFile> |
File |
0.1 |
Output file. Default: ${project.build.directory}/project-properties User Property: outputFile |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<asciiDocCustomization> |
AsciiDocTemplateCustomization |
0.1 |
AsciiDoc template customization object to configure the template. User Property: asciiDocCustomization |
<contentTemplate> |
String |
0.1 |
Custom content template file. User Property: contentTemplate |
<description> |
String |
0.1 |
Main module description. Default: ${project.description} User Property: description |
<failOnMissingInput> |
boolean |
0.1 |
Define if the process should fail if the given input file is not found. Default: true User Property: failOnMissingInput |
<footerTemplate> |
String |
0.1 |
Custom footer template file. User Property: footerTemplate |
<headerTemplate> |
String |
0.1 |
Custom header template file. User Property: headerTemplate |
<htmlCustomization> |
HtmlTemplateCustomization |
0.1 |
HTML template customization object to configure the template. User Property: htmlCustomization |
<inputArtifacts> |
InputArtifactsKind |
0.1 |
In addition to the 'inputs' parameter, artifacts specified by the value are also included
<ul> <li><b>DEPENDS_ON_MODULES</b> - <i>(default)</i> Only project modules that are explicitly in the current module dependencies (external libraries are not included).
<li><b>MODULES</b> - All modules in aggregated project (without external libraries). Metadata generation must run after all modules has been compiled. To ensure this, current module should have a dependency on the last compiled module (as war-module usually has).
<li><b>DEPENDENCIES</b> - Project modules and external libraries that are in transitive dependencies of current module </ul> Default: DEPEND_ON_MODULES |
<inputs> |
List<AggregationMojoInput> |
0.1 |
Input files and additional configuration. User Property: inputs |
<markdownCustomization> |
MarkdownTemplateCustomization |
0.1 |
Markdown template customization object to configure the template. User Property: markdownCustomization |
<templateCompilerName> |
String |
0.1 |
Template compiler class's fully qualified name .
With this option you can use your own template compiler implementation if the default User Property: templateCompilerName |
<type> |
TemplateType |
0.1 |
Type of the document.
The following template types are supported: Default: MARKDOWN User Property: type |
<xmlCustomization> |
XmlTemplateCustomization |
0.1 |
XML template customization object to configure the template. User Property: xmlCustomization |
Parameter Details
<asciiDocCustomization>
- Type:
org.rodnansol.core.generator.template.customization.AsciiDocTemplateCustomization
- Since:
0.1
- Required:
No
- User Property:
asciiDocCustomization
<contentTemplate>
- Type:
java.lang.String
- Since:
0.1
- Required:
No
- User Property:
contentTemplate
<description>
- Type:
java.lang.String
- Since:
0.1
- Required:
No
- User Property:
description
- Default:
${project.description}
<failOnMissingInput>
- Type:
boolean
- Since:
0.1
- Required:
No
- User Property:
failOnMissingInput
- Default:
true
<footerTemplate>
- Type:
java.lang.String
- Since:
0.1
- Required:
No
- User Property:
footerTemplate
<headerTemplate>
- Type:
java.lang.String
- Since:
0.1
- Required:
No
- User Property:
headerTemplate
<htmlCustomization>
- Type:
org.rodnansol.core.generator.template.customization.HtmlTemplateCustomization
- Since:
0.1
- Required:
No
- User Property:
htmlCustomization
<inputArtifacts>
'inputs'
parameter, artifacts specified by the value are also included
<ul>
<li><b>DEPENDS_ON_MODULES</b>
- <i>(default)</i>
Only project modules that are explicitly in the current module dependencies (external libraries are not included).
<li><b>MODULES</b>
- All modules in aggregated project (without external libraries). Metadata generation must run after all modules has been compiled. To ensure this, current module should have a dependency on the last compiled module (as war-module usually has).
<li><b>DEPENDENCIES</b>
- Project modules and external libraries that are in transitive dependencies of current module </ul>
- Type:
org.springframework.configuration.maven.InputArtifactsKind
- Since:
0.1
- Required:
No
- Default:
DEPEND_ON_MODULES
<inputs>
- Type:
java.util.List<org.rodnansol.maven.AggregationMojoInput>
- Since:
0.1
- Required:
No
- User Property:
inputs
<markdownCustomization>
- Type:
org.rodnansol.core.generator.template.customization.MarkdownTemplateCustomization
- Since:
0.1
- Required:
No
- User Property:
markdownCustomization
<name>
- Type:
java.lang.String
- Since:
0.1
- Required:
Yes
- User Property:
name
- Default:
${project.name}
<outputFile>
- Type:
java.io.File
- Since:
0.1
- Required:
Yes
- User Property:
outputFile
- Default:
${project.build.directory}/project-properties
<templateCompilerName>
With this option you can use your own template compiler implementation if the default org.rodnansol.core.generator.template.handlebars.HandlebarsTemplateCompiler
. based one is not enough.
- Type:
java.lang.String
- Since:
0.1
- Required:
No
- User Property:
templateCompilerName
<type>
The following template types are supported:<ul> <li>MARKDOWN</li>
<li>ADOC</li>
<li>HTML</li>
<li>XML (Since 0.2.0)</li> </ul>
- Type:
org.rodnansol.core.generator.template.TemplateType
- Since:
0.1
- Required:
No
- User Property:
type
- Default:
MARKDOWN
<xmlCustomization>
- Type:
org.rodnansol.core.generator.template.customization.XmlTemplateCustomization
- Since:
0.1
- Required:
No
- User Property:
xmlCustomization