SPViz is a generator for software architecture visualization tools. It generates tool code (and code templates) based on an architecture description DSL and a DSL describing the visualilzation and its filtering.
- This is a Java/Xtend project building with Maven 3.9, find most relevant frameworks and versions in build/pom.xml:12-
- The produced applications of this project are Eclipse Plugins and a CLI tool
- File structure:
- build/: Maven build root and other Eclipse-related build configuration
- cli/: Source code entrypoint for the CLI
- features/: Eclipse feature descriptions
- plugins/: Source code for DSL plugins
- further documentation about the usage of the generated tools is available at the local folder at ../SoftwareProjectViz.wiki (if not disallowed to use and if available)
- example use cases and their DSL descriptions and completed generator templates are available at the local folder at ../SoftwareProjectViz-examples (if not disallowed to use and if available)
- Required before the first build in a fresh checkout, and after changing any
.xtextfile: regenerate the Xtext sources withmvn -f build/pom.xml -Pgenerate-xtext-sources generate-sources. - build:
mvn clean package -f build/pom.xml - fast build after Xtext sources have been generated:
mvn -f build/pom.xml -Pbuild-only package - test (only works after Xtext regeneration):
mvn -f build/pom.xml -Pbuild-only verify(currently, all tests are deactivated) - release build with the bundled skill archive:
mvn -f build/pom.xml "-Pall,prepare-skills" verify(only to test release builds, downloads external executables for skills)
- generate tool with CLI: In
cli/de.cau.cs.kieler.spviz.cli/targetcalljava -jar spviz-cli.jar ../../../../SoftwareProjectViz-examples/osgi/osgi.spvizmodel ../../../../SoftwareProjectViz-examples/osgi/osgi.spviz -o <placeholder>; verify the two mentioned models exist and are available to you (they are in a different repository), and replace the placeholder with a temporary folder that you can work in - test build generated code: in the generated
de.cau.cs.kieler.spviz.<visualization name>viz.buildfolder (NOT thespviz.buildfolder), callmvn clean package
- Never modify code in any *-gen/ folders, as it is automatically generated by Xtend or the Xtext grammar and will be overwritten by the automatic build.