Fork me on GitHub

Guided Tour

Description

Generate "Guided Tour(s)" to help acquire knowledge of the application for new comers. One file is generated by distinct names passed to the annotation used.

mojo

tour

Configuration

prefix

the prefix of packages to scan (required, no default)

outputDirectory

the outpout directory (default is target/generated-docs)

tourAnnotation

fully qualified package of the annotation (the annotation needs 3 properties)

repositoryLink

root link to source repository

theme

theme used for pretty print (united -red- or cerulean -blue-, default is united)

Usage

Maven
    <plugin>
        <groupId>io.github.livingdocumentation</groupId>
        <artifactId>livingdoc-maven-plugin</artifactId>
        <version>${plugin.livingdoc-maven-plugin.version}</version>
        <executions>
            <execution>
                <id>tour</id>
                <goals>
                    <goal>tour</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <prefix>${mycode.package.prefix}</prefix>
            <tourAnnotation>${my.annotations}.GuidedTour</tourAnnotation>
            <repositoryLink>${link.to.my.vcs}</repositoryLink>
            <outputDirectory>target/generated-docs</outputDirectory>
        </configuration>
    </plugin>

Guided tour annotation

An annotation with 3 properties is needed by the plugin : name, description and rank. Here is the model of the annotation (no module with the annotations available in our project in current version).

/**
 * Marks this element as a site to be part of the guided tour
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ ElementType.PACKAGE, ElementType.TYPE, ElementType.METHOD, ElementType.FIELD })
public @interface GuidedTour {

	String name();

	String description() default "";

	int rank() default 0;
}