Skip to content
naraesk edited this page Mar 4, 2019 · 5 revisions

This page is out of date! It applies only to generator but not to generator2.

Maven is used the build and run the generator component. This page explains the maven configurations that are shipped with Getaviz. They are availabel as Eclipse Launch files.

Build everything

This configuration builds every project, including the xtext projects (org.svis.xtext), the generator itself, and the test cases. For the initial biuld build everything is executed automatically. During development usually you would not want to run this configuration.

Test Generator

This configuration executes the test cases for the generator. This config you use during generator development.

Specific workflows

There exist several workflows for specific metaphors and input formats:

  • Dynamix2RD
  • Famix2City
  • Famix2MultiSphere
  • Famix2Plant
  • Famix2RD
  • JQA2City
  • JQA2Multisphere
  • ...

This configurations are thought only for productive use, not for testing purposes. To run them you need a suitable input file in a subdirectory of org.svis.generator.run/input. For example if you want to run Famix2RD put a .famix file in org.svis.generator.run/input/famix. The output is created in org.svis.generator.run/output.

When using a JQAssisstant compatible database as input, put database folder in directory databases. Change value of DATABASE_NAME in FAMIXSettings.java (famix.database_name in settings.properties) to your database and use one of the maven builds named as JQA2City, JQA2Plant, ...

Build a specific Metamodel

In case you just want to rebuild e.g. the famix metamodel simply right click on the corresponding project and select Run As → Maven install

Generated Files

Project Report

The project report can be generated by launching "Project Report". Among others it contains an overview over all external dependencies and their licenses. It can be found in the releng project under target/staging/index.html

Test Reports

After running the test cases, per test case a test report is createt in target/surfire-reports wtihin the project org.svis.generator.tests. Open the xml files to view the reports in the familiar junit view.

Documentation

The JavaDoc documentation is still very incomplete, so please extend it whenever possible. The documentation is created automatically. It is available within eclipse, e.g. when hovering over a documented class. The html documentation is generated in target/site within the corresponding project.

Tipps and Tricks

Increase RAM

For very big systems you may have to increase RAM to visualize them. If you change settings via eclipse launch file this will only affect the maven process but not the separate java execution. Instead open the pom.xml of org.svis.generator.run and add the following line to the arguments part of the exec-maven-plugin to use 5 gigabyte ram:

<argument>-Xmx5g</argument>

Debugging

If you want to use breakpoints, right click on a junit test and choose Debug As → JUnit Test

Cleanup

The integration from maven into eclipse is not optimal. From time to time this can occur

  • eclipse shows hunrets of compilation errors although things were fine a second ago
  • Tests will fail due to compilation errors (especially when running the "Build everything" workflow"

In this case do the following:

  1. Select a project and press Alt + F5
  2. Click "Select all", then on "Ok"
  3. Run "Test Generator" workflow