Skip to content

Latest commit

 

History

History
27 lines (24 loc) · 2.41 KB

AGENTS.md

File metadata and controls

27 lines (24 loc) · 2.41 KB

SPViz

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.

Project knowledge

  • 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)

Tools

  • Required before the first build in a fresh checkout, and after changing any .xtext file: regenerate the Xtext sources with mvn -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)

Tools after successful build

  • generate tool with CLI: In cli/de.cau.cs.kieler.spviz.cli/target call java -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.build folder (NOT the spviz.build folder), call mvn clean package

Boundaries

  • 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.