Getting Started

Heiko Klare edited this page Oct 30, 2018 · 22 revisions

Table of Contents

Vitruv in a Nutshell

  1. Download Eclipse Photon (preferably the Modeling Tools)
  2. Install features required for your use case from the Vitruv update site
  3. Import only projects of plug-ins that you want to modify from Vitruv GitHub repository

Detailed Setup

Basically, you need to perform two steps to use or develop for Vitruv:

  1. Download and run a Photon release of Eclipse, preferably the Eclipse Modeling Tools
  2. Install or import the required Vitruv plug-ins. You have three options for that:
    1. Install all of them from our (nightly) update site, see Install from Update Site
    2. Get the sources from GitHub and import all projects that you need into your workspace, see Download from GitHub
    3. Preferred option: Install all plug-ins from the update site (as described for the first option), clone the GitHub repository but import only the projects of the plug-ins that you want to modify or extend (as described for the second option). (If an Eclipse plug-in is installed and opened as a project in the workspace, Eclipse automatically replaces the installed version with the workspace version.)

Install from Update Site

  • Open your Eclipse and go to Help -> Install new software and search for our update site: http://vitruv.tools/updatesite/nightly
  • Select the features you need, e.g., only the framework, the consistency-specification DSLs or even certain domains or applications that have been developed for Vitruv
  • For further information on the features you may need, see Selecting Required Plug-ins

Download from GitHub

Before downloading and using our sources from GitHub, you have to install some required Eclipse Plug-ins manually:

  • Xtext and Xtend 2.14, if you do not have the Modeling Tools' version of Eclipse
  • All features under SDQ Commons and Demo Metamodels from our SDQ Update Site (Help - Install New Software... - Add...)
  • Optional Eclipse Plug-ins, depending on which metamodels/domains you want to define or use consistency specifications for. For details about the domains and their dependencies, see Domains and Applications.
Setup the workspace with the code from GitHub. To get the source code of the Vitruvius framework:
  1. Clone the Vitruvius repository and import projects from it
    • Right click in the Eclipse Package Explorer view: Import -> Git -> Projects from Git
    • Import only those projects of the plug-ins that you want to modify or extend
      • You can set the scope of the wizard to the folder "bundles" or one of its subfolders in the "Working Tree" to only obtain relevant import suggestions
      • Select as few projects from the list as necessary. (To modify the reactions language, for example, you would only import projects named "tools.vitruv.dsls.reactions.*" in the "dsls" subfolder of the "bundles" folder.)
      • Note that you need at least all projects named tools.vitruv.framework.* to build a minimal working copy of Vitruvius
  2. Our continuous integration is based on Maven Tycho and Travis-CI. You need to run a Maven build after importing the sources, especially to generate the artifacts of the consistency preservation languages.
    1. Navigate with the console to the Vitruv framework (e.g. cd .\git\Vitruv\)
    2. Run mvn clean verify
    • Alternatively, you can run the MWE2 workflows of the languages in Eclipse and let Eclipse build the projects, but this sometimes causes issues due to missing folders, so starting a Maven build is the more reliable option.
Important: Make sure that you set your workspace encoding in Eclipse to "UTF-8" (especially important for Windows users)
  • Open the preferences window: Window -> Preferences
  • Open the page General -> Workspace and select enconding in the box Text file encoding

Selecting Required Plug-ins

Vitruv consists of several plug-ins, separated into different categories.

There are three categories of user that require different plug-ins to be imported to their workspace:

  • Vitruvius Framework Developers
    • Developers of the framework should checkout and import the complete set of plug-ins, which are the one contained in the framework and the ones in domains and applications repositories.
    • Changes in the framework may affect a plug-in that is built on the framework.
    • Plug-in projects that are not affected, not needed and/or for which dependencies are missing can be closed in the workspace.
  • Vitruvius Application Developers
    • An application developer defines consistency specifications between metamodels.
    • Required plug-ins are the framework and the DSLs and the DSLs runtime extensions, as well as the domains projects for the metamodels to define consistency for and the application projects for the metamodel pair to keep consistent.
  • Vitruvius Application Users
    • An application user uses already defined applications to build a virtual metamodel that uses the consistency specifications to keep models consistent.
    • Required plug-ins are the framework, the domain projects and the applications projects for the involved metamodels (DSLs are not required). They are best installed from the update site.

Miscellaneous

Installing from (Nightly) Update Sites

  • Open Help -> Install new software
  • Input the update site (URL) in the search field
  • Select the required features from the list
  • Finish the wizard, accepting potential requests
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.