Join GitHub today
Table of Contents
- Download Eclipse Photon (preferably the Modeling Tools)
- Install features required for your use case from the Vitruv update site
- Import only projects of plug-ins that you want to modify from Vitruv GitHub repository
Basically, you need to perform two steps to use or develop for Vitruv:
- Download and run a Photon release of Eclipse, preferably the Eclipse Modeling Tools
- Install or import the required Vitruv plug-ins. You have three options for that:
- Install all of them from our (nightly) update site, see Install from Update Site
- Get the sources from GitHub and import all projects that you need into your workspace, see Download from GitHub
- 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.)
- 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
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.
- 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
- 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.
- Navigate with the console to the Vitruv framework (e.g. cd .\git\Vitruv\)
- 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.
- Open the preferences window: Window -> Preferences
- Open the page General -> Workspace and select enconding in the box Text file encoding
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.
- 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