useSmetana

Description

With this configuration toggle you can activte smetana as replacement for GraphViz/Dot for layouting (see smetana-documentation ).

Default value

The default value of this configuration option is false (smetana is not activated).

Example

In the following example there are three dependencies in the maven dependency hierarchy which build the classpath for all further generation:

	<dependencies>
		<dependency>
			<groupId>de.elnarion.util</groupId>
			<artifactId>plantuml-generator-util</artifactId>
			<version>@project.version@</version>
			<classifier>tests</classifier>
			<type>test-jar</type>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.16.1</version>
		</dependency>
		<dependency>
			<groupId>javax.persistence</groupId>
			<artifactId>javax.persistence-api</artifactId>
			<version>2.2</version>
		</dependency>
	</dependencies>

From this classpath all classes of the package "de.elnarion.test.domain.t0027", which are also used by the JUnit-tests of the PlantUML generator utility, should be generated as class diagram with the following plugin configuration:

			<plugin>
				<artifactId>plantuml-generator-maven-plugin</artifactId>
				<groupId>de.elnarion.maven</groupId>
				<version>@project.version@</version>
				<executions>
					<execution>
						<id>generate-simple-diagram</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<phase>generate-test-sources</phase>
						<configuration>
							<useSmetana>true</useSmetana>
							<outputFilename>testdiagram1.txt</outputFilename>
							<scanPackages>
								<scanPackage>de.elnarion.test.domain.t0027</scanPackage>
							</scanPackages>
						</configuration>
					</execution>
				</executions>
			</plugin>

and with this configuration smetana should be used instead of GraphViz/Dot for layouting. This configuration leads to this diagram:

0027_use_smetana_diagram

and produces this PlantUML diagram text:

@startuml
!pragma layout smetana

class de.elnarion.test.domain.t0027.TestClass {
    {field} -testString : String
}

@enduml