## report

##### Full name:

org.thewonderlemming.c4plantuml:c4plantuml-maven-plugin:1.0.0:report

##### Description:

Analyzes the C4 source files found in the output directory to build a aggregate graph, and exports that graph as a GraphML file.

Please note that the generated GraphML does not contain any drawing-related information such as elements positions and such. It is a pure data representation, as the view is already taken care of by PlantUML.

##### Attributes:

- Requires a Maven project to be executed.
- Binds to a default lifecycle phase: `process-classes`.
- Uses the `project.build.sourceEncoding` property to set the C4 source files encoding.

### Optional parameters

Name | Type | Since | Description
--- | --- | --- | ---
<failOnParseErrors> | `boolean` | `1.0.0` | A flag that enables the goal to break the build on any parsing error if set to `true`. Default value is: `false`
<formatOutput> | `boolean` | `1.0.0` | A flag that enables the goal to format the produced GraphML output if set to `true`. Default value is: `true`
<outputFilename> | `String` | `1.0.0` | The name of the GraphML file that will be produced on success. If the given filename is not absolute, then it will be created in the output directory. Default value is: `c4graph.graphml`. Case insensitive: `No`
<sourceFileExtension> | `String` | `1.0.0` | Extension for the C4 source files. Default value is: `.puml` Case insensitive: `Yes`

### Parameter details

#### <failOnParseErrors>

A flag that enables the goal to break the build on any parsing error if set to `true`.

The following snippet sets the value of the `<failOnParseErrors>` to `true`.

    <build>
        <plugins>
            <plugin>
                <groupId>org.thewonderlemming.c4plantuml</groupId>
                <artifactId>c4plantuml-maven-plugin</artifactId>
                <version>1.0.0-RC1</version>
                <executions>
                    <execution>
                        <id>generating-graphml-from-c4-files</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <failOnParseErrors>true</failOnParseErrors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

- Type: `boolean`
- Since: `1.0.0`
- Required: `No`
- Default: `false`

#### <formatOutput>

A flag that enables the goal to format the produced GraphML output if set to `true`.

The following snippet sets the value of the `<formatOutput>` to `false`.

    <build>
        <plugins>
            <plugin>
                <groupId>org.thewonderlemming.c4plantuml</groupId>
                <artifactId>c4plantuml-maven-plugin</artifactId>
                <version>1.0.0-RC1</version>
                <executions>
                    <execution>
                        <id>generating-graphml-from-c4-files</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <formatOutput>false</formatOutput>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

- Type: `boolean`
- Since: `1.0.0`
- Required: `No`
- Default: `true`

#### <outputFilename>

The name of the GraphML file that will be produced on success. If the given filename is not absolute, then it will be created in the output directory.

The following snippet sets the value of the `<outputFilename>` to `/home/me/my_c4_graph.graphml`.

    <build>
        <plugins>
            <plugin>
                <groupId>org.thewonderlemming.c4plantuml</groupId>
                <artifactId>c4plantuml-maven-plugin</artifactId>
                <version>1.0.0-RC1</version>
                <executions>
                    <execution>
                        <id>generating-graphml-from-c4-files</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <outputFilename>/home/me/my_c4_graph.graphml</outputFilename>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

- Type: `java.lang.String`
- Since: `1.0.0`
- Required: `No`
- Default: `c4graph.graphml`
- Case insensitive: `No`

#### <sourceFileExtension>

Extension for the C4 source files.

The following snippet changes the value of the `<sourceFileExtension>` to `.c4`.

    <build>
        <plugins>
            <plugin>
                <groupId>org.thewonderlemming.c4plantuml</groupId>
                <artifactId>c4plantuml-maven-plugin</artifactId>
                <version>1.0.0-RC1</version>
                <executions>
                    <execution>
                        <id>generating-graphml-from-c4-files</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <sourceFileExtension>.c4</sourceFileExtension>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

- Type: `java.lang.String`
- Since: `1.0.0`
- Required: `No`
- Default: `.puml`
- Case insensitive: `Yes`