This maven plugin allows automatic creation of any IS Model extension documentation
Go to file
Luca Frosini 79b7c425f8 test(plugin): remove unused imports in IsolatedClassLoaderExecutorTest 2026-09-02 15:55:04 +02:00
images feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
src test(plugin): remove unused imports in IsolatedClassLoaderExecutorTest 2026-09-02 15:55:04 +02:00
.gitignore feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
CHANGELOG.md feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
CITATION.cff feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
FUNDING.md Creating plugin skelethon 2022-12-08 15:11:13 +01:00
Jenkinsfile feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
Jenkinsjob.xml feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
LICENSE.md feat: implement isolated classloader executor and plugin logic 2026-09-01 20:03:55 +02:00
README.md docs(readme): pin maven plugin version in usage example 2026-09-01 22:36:58 +02:00
pom.xml docs(deps): update generator dependency version range and simplify documentation 2026-09-01 22:35:53 +02:00

README.md

Information System Model Documentation Maven Plugin

License: EUPL-1.2 Changelog Cite

Maven plugin for automatically generating documentation from Information System models.

Table of contents

Overview

This plugin inspects Information System Model definitions and automatically generates documentation in Markdown (md) or HTML (html) formats during the Maven build lifecycle.

The plugin executes inside an isolated URLClassLoader built from the host project's compile classpath, dynamically discovering and validating registered model types via RegistrationProvider.

Configuration

To generate documentation during builds (immediately after compilation), add the plugin to the <build><plugins> section of your model component's pom.xml (e.g. gcube-model):

<plugin>
    <groupId>org.gcube.information-system</groupId>
    <artifactId>information-system-model-documentation-maven-plugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <configuration>
        <registrationProviderClass>org.gcube.resourcemanagement.model.impl.GCubeModelRegistrationProvider</registrationProviderClass>
        <outputDirectory>${project.basedir}/documentation</outputDirectory>
        <format>md</format>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>generate-docs</goal>
            </goals>
            <phase>process-classes</phase>
        </execution>
    </executions>
</plugin>

Parameters

Parameter Type Default Description
registrationProviderClass String (optional) Fully qualified class name of the RegistrationProvider to document (e.g. org.gcube.resourcemanagement.model.impl.GCubeModelRegistrationProvider). If omitted, all providers discovered via ServiceLoader on the project compile classpath are used.
outputDirectory File ${project.basedir}/documentation Target directory where the generated documentation files will be placed.
format String md Target template format (md or html).

Documentation

For detailed documentation, please visit: https://code-repo.d4science.org/gCubeSystem/information-system-model-documentation-maven-plugin

Changelog

See CHANGELOG.md.

Authors

How to Cite

If you use this software, please cite it using the metadata in CITATION.cff

License

This project is licensed under the terms specified in the LICENSE.md file.

About gCube

This software is part of the gCube Framework: an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments by favouring the realisation of reuse oriented policies. The gCube Framework supports the development and operation of the D4Science Infrastructure.

Funding

See FUNDING.md