Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

VIATRA/DeveloperDocumentation/DevEnvironment

< VIATRA‎ | DeveloperDocumentation
Revision as of 11:51, 26 February 2016 by Harmath.incquerylabs.com (Talk | contribs) (Add more details to Oomph setup)

Setup

Step 1: Initial setup

The first part of the setup can be done either manually or automatically.

Manual

Install dependencies

  • Eclipse Modeling Tools 3.7, 3.8, 4.2, 4.3, 4.4 or 4.5 distribution
  • Xtext SDK 2.9
    • Xtext update site: http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
    • Other versions of Xtext are not supported
    • This also requires a current version of EMF (2.10)
  • EGit (includes JGit) - required components for downloading source from Git
    • Available from Eclipse release train update site: http://download.eclipse.org/releases/mars

Optional: Install integration dependencies

If you want to develop the org.eclipse.viatra.integration.* projects, install the following dependencies:

From http://download.eclipse.org/incquery/updates-extra/release

    • GEF4 Zest SDK

Alternatively you can just close the integration projects (as they are non-essential).

Clone source projects from Git

The project is available from the Eclipse repository at org.eclipse.viatra.git (browse, stats, fork on OrionHub) . To clone it, you can select either clone URLs listed. However, if you want to use the committer account, you have to use the ssh url.

After obtaining a local git repository on your hard disk, import the Eclipse plug-in projects in the repository into your Eclipse workspace.

For details, see the Eclipse EGit help and the Git tutorial from Lars Vogel.

Important: Do not forget to set up your name and email address in your local Git repository - Git identifies your commits using your email address.

Recommended: Editor Settings

Code style: slightly modified built-in Eclipse style

  • line width: 120 characters both for code and comments
  • using spaces for indentation

Downloadable style available from File:IncQueryFormatter.xml.zip

Comment templates:

  • Copyright header for each Java file
  • Leaving override annotations out

Downloadable template available from File:Eiq-jdt-templates.xml.zip

Bootstrapping metamodel and grammar code generation

Run the following launch configurations:

  • GenerateReteRecipeMetamodel.mwe2
  • GenerateNotationMetamodel.mwe2
  • GenerateTraceabilityMetamodel.mwe2
  • GenerateTransformationTraceMetamodel.mwe2
  • GeneratePatternLanguage.mwe2
  • GenerateEMFPatternLanguage.mwe2
  • GenerateGeneratorModel.mwe2
  • GenerateCepMetamodels.mwe2
  • GenerateVepl.mwe2

Explanation: The projects contain both manually written and generated code. They are placed in different source folders: all src folders contain only manually written code, the following folders contain generated code:

  • The emf-gen and src-gen folders contain code generated by the EMF metamodel generation workflows.
  • The src-gen folders contain code generated by the Xtext code generation workflows.
  • The xtend-gen files contain code generated by the Xtend compiler which is run incrementally. These files do have dependencies of the other workflow-generated files: before the workflow is executed, it is normal for these files to be erroneous.

Generated code is not committed into Git, so the generator workflows have to be run during setup or whenever a metamodel, grammar or workflow file changes.

Xtext code generator workflows require about 30-60 seconds to run - be patient.

Automatic (Oomph)

The above described manual process can be automated with Oomph.

  • Download and run Eclipse Installer
  • Product:
    • Product: Eclipse IDE for Java Developers
    • Product Version: Mars
  • Projects:
    • Click the green plus button (Add user projects)
      • Catalog: Eclipse Projects
      • Resource URIs: http://download.eclipse.org/viatra/setup/VIATRAEMF.setup
    • Double-click the VIATRA project
  • Variables:
    • Check show all variables
    • Installation location rule: leave default
    • Installation folder name: arbitrary
    • Root install folder: arbitrary
    • Workspace location rule: leave default
    • Git clone location rule: leave default
    • Target Platform: Mars
    • Git or Gerrit repository: SSH (read-write, Gerrit) is recommended if you want to contribute
      • Eclipse Git/Gerrit user ID: your Gerrit user ID if you selected a Gerrit repository

Step 2: Bootstrapping query code generation

This step has to be performed manually even after running the Oomph setup!

Some components already include VIATRA Query patterns but the generated code is not stored in version control. In order to correctly compile these projects, run the Bootstrap launch configuration and import the following projects:

  • org.eclipse.viatra.addon.viewers.runtime
  • org.eclipse.viatra.addon.viewers.runtime.zest
  • org.eclipse.viatra.cep.core
  • org.eclipse.viatra.cep.core.metamodels
  • org.eclipse.viatra.integration.uml
  • org.eclipse.viatra.query.testing.queries
  • org.eclipse.viatra.query.testing.snapshot
  • org.eclipse.viatra.query.tooling.ui.retevis
  • org.eclipse.viatra.transformation.views

After importing, the VIATRA Query builder should generate the code for each pattern definition as needed.

Notes:

  • You may have to manually open and edit-save the *.vql files to trigger the builder.
  • If you create an own launch configuration for bootstrapping query code generation, make sure to exclude these imported projects from it, and either include the metamodel projects required by them in it or import them into the runtime workspace as well.

Back to the top