Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Eclipse UML Generators/Contributor Guide

< Eclipse UML Generators
Revision as of 12:00, 14 April 2014 by Cedric.notot.gmail.com (Talk | contribs) (Checking out the code)


Eclipse UML Generators
Website
Download
Community
Mailing List
Forums
Bugzilla
Open
Create New
Contribute
Browse Source


Build

Eclipse UML Generators can be built using maven within the releng/org.eclipse.umlgen.build sub-folder of this repository :

mvn clean package

[multi-platform build soon]

Contributing

  • You need an Eclipse user account. You already have one if you are an Eclipse commiter or have a Bugzilla account. Otherwise, use this form.
  • Sign the Eclipse Contributing License Agreement (CLA) : Please go to your user page , then to the CLA tab once you’re logged in and follow the instructions.
  • Make sure you use the proper user information on your git clone’s configuration :
    • $ cd <path/to/repository>
    • $ git config --local user.name "<Full Name>"
    • $ git config --local user.email "<your.mailyourmail.com>"
  • Make small logical changes.
  • Provide a meaningful commit message.

Eclipse UML Generators uses gerrit for peer reviews. To configure it on your repository, please look up how to setup your SSH keys and remote on the wiki [soon]. A detailed guide on the commit message’s format can be found further down this same page.

Once properly configured, you will be able to request a review by simply pushing your commit on this new remote.

Environment

  • Java
Eclipse UML Generators is built against Java 1.5. Though it is compatible with later versions and will thus run flawlessly on 1.5, 1.6 and 1.7 virtual machines, development should make use of 1.5 APIs and avoid any reference to more recent code so as to prevent compilation errors.
  • Eclipse
[Eclipse version soon]
It can be obtained through the Eclipse download page. The easiest way to set up your environment is to download the Eclipse Modeling Tools bundle since it will already contain most of our dependencies, except for Guava.
All of the following can be obtained through the simultaneous release's update site. From the Eclipse you've installed, use the Help > Install New Software... menu. In the dialog that pops up, locate the update site of your release (it should be labelled Eclipse <name of release> Repository). The list that loads below will contain the necessary projects that you just have to install.
We'll go through how to obtain them separately.
  • Guava
It can be installed from the Orbit update site.
  • EMF
Eclipse UML Generators heavily relies on EMF and requires version 2.5 at least. We recommend using the SDK so as to have access to the sources as well.
Get it from the EMF downloads page.
  • UML
Eclipse UML Generators heavily relies on UML and requires version 5.0 at least.
  • Acceleo
Eclipse UML Generators heavily relies on Acceleo and requires version 3.5 at least.

Checking out the code

The code of EMF Compare is located on a git repository. You can check it out with the command :

[soon]

The repository contains a folder per generator at its root :

  • org.eclipse.umlgen.gen.c for C generator
  • org.eclipse.umlgen.gen.java for Java generator
  • org.eclipse.umlgen.gen.rtsj for RTSJ generator
  • org.eclipse.umlgen.reverse.c for C reverser

and a releng folder with three sub-folders:

  • org.eclipse.umlgen.parent is a non-code plugin which serves as the location of our parent pom. It otherwise contains our code style. You will need this plugin in your workspace whatever you work on as it holds the checkstyle configuration of our plugins (see Checkstyle below).
  • org.eclipse.umlgen.build contains the common configuration to build the project.
  • org.eclipse.umlgen.repository contains the update site of the project.

Each generator folder contains sub-folders:

  • plugins: It contains all the plugins of the generator.
  • features: It contains the features of the generator.
  • tests: It contains the tests of the generator.
  • doc: It contains the doc (plugin) of the generator.
  • releng: Like the common releng folder, it contains the org.eclipse.umlgen.xxx.yyy.build and org.eclipse.umlgen.xxx.yyy.repository. This enables to individually build each generator.

All of our plugins' name are prefixed with org.eclipse.umlgen. If the plugin is part of an Acceleo generator, .gen will be added to the name (org.eclipse.umlgen.gen). If it is part of a reverser, .reverse will be used. Here is the expected pattern :

org.eclipse.umlgen[.gen|.reverse][.<technology.to.produce.or.consume>][.<specific.part>]

Back to the top