For FAMILIAR Developers

This document describes how to obtain the source code of FAMILIAR and set up your Eclipse environment.

Before you start

You need Eclipse:

Checkout the source code from the SVN

Here is the SVN repository URL of the project  https://nyx.unice.fr/svn/gfamiliar/
Open the repository view and add the SVN repository URL (you need a login and a password). Eclipse will display a list of projects. Some projects are not useful, you have to checkout only the projects listed bellow :

  • FAMILIAR
  • FML3rdPartiesMisc
  • FML3rdPartiesForSynthesis
  • org.xtext.example.fml
  • org.xtext.example.fml.sdk
  • org.xtext.example.fml.tests
  • org.xtext.example.fml.ui
  • SPLAR-plugin
  • TVLPackagedAsPlugin
    // some stuff with S2T2 (TODO: flexible mechanism to activate/deactivate plugins)
  • org.xtext.example.fmlero
  • org.xtext.example.fmlero.sdk
  • org.xtext.example.fmlero.tests
  • org.xtext.example.fmlero.ui
  • S2T2toFML

FeatureIDE

Install FeatureIDE using directly the SVN of FeatureIDE project (we are non intrusive now in the code and the FeatureIDE projects present in the SVN of FAMILIAR are now deprecated) For installing FeatureIDE checkout the following projects, using the SVN server:  https://faracvs.cs.uni-magdeburg.de/svn/tthuem-FeatureIDE/ (login is anonymous and no password)

  • de.ovgu.featureide.core
  • de.ovgu.featureide.fm.core
  • de.ovgu.featureide.fm.ui
  • de.ovgu.featureide.ui

Final step: => expose all packages of de.ovgu.featureide.ui and de.ovgu.featureide.fm.ui (META-INF/MANIFEST.MF)

Useful but not required projects

The following projects are not necessary:

  • FMLSynthesisSource
  • FMLPrefuseEditor // some attempts towards a Prefuse-like editor

// DSL for the weaving of FMs (~Wfamily)

  • org.xtext.example.fmweaver
  • org.xtext.example.fmweaver.generator
  • org.xtext.example.fmweaver.ui

// DSL for extracting FMs (now VariCell)

  • org.xtext.example.SToFM
  • org.xtext.example.SToFM.generator
  • org.xtext.example.SToFM.ui

// technical report, papers

// releases

  • FAMILIAR-update-site
  • FMLExperimentScala
  • fr.unice.familiar

// we don't use these projects anymore (Zest is an interesting graphical framework -- I have somewhere some implementations)

  • org.eclipse.zest
  • org.eclipse.zest.core
  • org.eclipse.zest.dot.export
  • org.eclipse.zest.dot.import
  • org.eclipse.zest.dot.ui
  • org.eclipse.zest.layouts

// Deprecated

  • FMLSynthesis3rdParties

// SPLAR (but not packaged as a plugin)

  • SPLAR

// bridges with Triskell/Perrouin? MM

  • org.xtext.example.fd
  • org.xtext.example.fd.generator
  • org.xtext.example.fd.ui

Testing the installation

To check your installation, execute the JUnit tests in /src/fr/unice/polytech/modalis/familiar/test with the the VM argument -Xmx1024M. If this doesn't work and you have heap space errors, install this plugin  http://junitlaunchfixer.googlecode.com/svn/trunk/JUnitLaunchFixer-update-site/ and try again. It should worked. You should have 7 errors, 11 failures, 61 ignored (see attachment)

Exporting an Executable Jar

If you want to export FAMILIAR as a standalone application (i.e., as an executable JAR):

  • execute FML (package fr.unice.polytech.modalis.familiar.standalone;) which contains a main method ;
  • right click on FAMILIAR project, select "Export..." and then "Runnable JAR file..."
  • please select "Package required..." and in Launch Configuration "FAMILIAR - FML (see screenshot below)

Export JAR

VariCell

For installing VariCell, you need FAMILIAR (so please follow exactly the instructions given above) plus the following projects:

  • CSVtoFML/
  • org.xtext.example.varicell/
  • org.xtext.example.varicell.generator/
  • org.xtext.example.varicell.ui/

To check your installation, execute the JUnit tests in src/CSVtoFML/tests with the the VM argument -Xmx1024M.

Attachments