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 org.rodnansol.core.generator.template.handlebars.HandlebarsTemplateCompiler. based one is not enough.


User Property: templateCompilerName
<type> TemplateType 0.1 Type of the document.

The following template types are supported:
<ul> <li>MARKDOWN</li>
<li>ADOC</li>
<li>HTML</li>
<li>XML (Since 0.2.0)</li> </ul>


Default: MARKDOWN
User Property: type
<xmlCustomization> XmlTemplateCustomization 0.1 XML template customization object to configure the template.
User Property: xmlCustomization

Parameter Details

<asciiDocCustomization>

AsciiDoc template customization object to configure the template.
  • Type: org.rodnansol.core.generator.template.customization.AsciiDocTemplateCustomization
  • Since: 0.1
  • Required: No
  • User Property: asciiDocCustomization

<contentTemplate>

Custom content template file.
  • Type: java.lang.String
  • Since: 0.1
  • Required: No
  • User Property: contentTemplate

<description>

Main module description.
  • Type: java.lang.String
  • Since: 0.1
  • Required: No
  • User Property: description
  • Default: ${project.description}

<failOnMissingInput>

Define if the process should fail if the given input file is not found.
  • Type: boolean
  • Since: 0.1
  • Required: No
  • User Property: failOnMissingInput
  • Default: true

<footerTemplate>

Custom footer template file.
  • Type: java.lang.String
  • Since: 0.1
  • Required: No
  • User Property: footerTemplate

<headerTemplate>

Custom header template file.
  • Type: java.lang.String
  • Since: 0.1
  • Required: No
  • User Property: headerTemplate

<htmlCustomization>

HTML template customization object to configure the template.
  • Type: org.rodnansol.core.generator.template.customization.HtmlTemplateCustomization
  • Since: 0.1
  • Required: No
  • User Property: htmlCustomization

<inputArtifacts>

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>
  • Type: org.springframework.configuration.maven.InputArtifactsKind
  • Since: 0.1
  • Required: No
  • Default: DEPEND_ON_MODULES

<inputs>

Input files and additional configuration.
  • Type: java.util.List<org.rodnansol.maven.AggregationMojoInput>
  • Since: 0.1
  • Required: No
  • User Property: inputs

<markdownCustomization>

Markdown template customization object to configure the template.
  • Type: org.rodnansol.core.generator.template.customization.MarkdownTemplateCustomization
  • Since: 0.1
  • Required: No
  • User Property: markdownCustomization

<name>

Main header section name.
  • Type: java.lang.String
  • Since: 0.1
  • Required: Yes
  • User Property: name
  • Default: ${project.name}

<outputFile>

Output file.
  • Type: java.io.File
  • Since: 0.1
  • Required: Yes
  • User Property: outputFile
  • Default: ${project.build.directory}/project-properties

<templateCompilerName>

Template compiler class's fully qualified name .

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>

Type of the document.

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>

XML template customization object to configure the template.
  • Type: org.rodnansol.core.generator.template.customization.XmlTemplateCustomization
  • Since: 0.1
  • Required: No
  • User Property: xmlCustomization