Concordion Site Report plugin

A maven plugin to incorporate concordion reports into a maven site report in the project reports section

License

License

Categories

Categories

Maven Build Tools Reporting Business Logic Libraries
GroupId

GroupId

com.github.bassman5
ArtifactId

ArtifactId

maven-concordion-reporting-plugin
Last Version

Last Version

1.0.2
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

Concordion Site Report plugin
A maven plugin to incorporate concordion reports into a maven site report in the project reports section
Source Code Management

Source Code Management

https://github.com/bassman5/maven-concordion-reporting-plugin

Download maven-concordion-reporting-plugin

How to add to project

<plugin>
    <groupId>com.github.bassman5</groupId>
    <artifactId>maven-concordion-reporting-plugin</artifactId>
    <version>1.0.2</version>
</plugin>

Dependencies

compile (3)

Group / Artifact Type Version
org.apache.maven.reporting : maven-reporting-api jar 2.0.8
org.apache.maven.reporting : maven-reporting-impl jar 2.0
org.codehaus.plexus : plexus-utils jar 2.0.1

test (2)

Group / Artifact Type Version
junit : junit jar 4.8.2
org.mockito : mockito-core jar 1.8.5

Project Modules

There are no modules declared in this project.

Maven Concordion Site Report

This is a simple maven reporting plugin that takes a directory structure with an html structure, in this case Concordion reports, and add them to a maven site report.

Works with maven 2.2.1 and 3.0

This project contains an example Concordion report with a navigable index generated by mvn site:site

In the pom.xml for the project that contains Concordion reports you will have an entry like this

<build>
    <plugins>
......
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin.version}</version>
            <configuration>
                <systemPropertyVariables>
                    <property>
                        <name>concordion.output.dir</name>
                        <value>target/concordion</value>
                    </property>
                </systemPropertyVariables>
            </configuration>
        </plugin>
......
    </plugins>
</build>

This will create the Concordion files in target/concordion

Then just add the following in the reporting section

Maven 2

<reporting>
    <plugins>
        <plugin>
            <groupId>com.github.bassman5</groupId>
            <artifactId>maven-concordion-reporting-plugin</artifactId>
            <version>1.0.2</version>
            <configuration>
                <concordionDir>${basedir}/target/concordion</concordionDir>
                <concordionIndexFile>acceptanceTests/AcceptanceTests.html</concordionIndexFile>
            </configuration>
        </plugin>

    </plugins>
</reporting>

Maven 3

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.0</version>
            <configuration>
            <reportPlugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                        <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.bassman5</groupId>
                    <artifactId>maven-concordion-reporting-plugin</artifactId>
                    <version>1.0.2</version>
                    <configuration>
                        <concordionDir>${basedir}/target/concordion</concordionDir>
                        <concordionIndexFile>acceptanceTests/AcceptanceTests.html</concordionIndexFile>
                    </configuration>
                </plugin>
            </reportPlugins>
            </configuration>
        </plugin>

    </plugins>

You can put the reporting section in the module that contains the Concordion report or in it's parent pom. If the Concordion report directory or index files cannot be found, the report will be skipped, and an info log message tells you the report is skipped.

  • If you don't see your expected report look for the line starting Skipped "Concordion-Report " report.

From release 1.0.3 this project includes a maven 3 example with a navigable set of acceptance tests that use concordion:run="concordion" commands to execute lists of tests

Configuration

<concordionDir>${basedir}/target/concordion</concordionDir>

The directory defined in the build section, where the Concordion files can be found.

<concordionIndexFile>acceptanceTests/AcceptanceTests.html</concordionIndexFile>

The top level html index file which will be the link you will be taken to from the Project Reports->Concordion menu

Other Uses

You can use this plugin to copy any html content into a maven site report. Just modify the menu name and change the source and output dirs.

Mick Dudley

Acknowledgments

The maven-jxr-plugin has good examples of how this was done, could not have done this without seeing this code. http://maven.apache.org/plugins/maven-jxr-plugin/

Links

Concordion Site:

Apache Maven:

Maven Site Plugin:

Versions

Version
1.0.2