Skip to main content
Jump to: navigation, search

Eclipse b3/contributing/Setting Up Development Environment

< Eclipse b3
Revision as of 08:23, 17 August 2011 by (Talk | contribs) (Subversion support)

If you intend to hack b3, here is how to get started.

Installing Prerequisites

In order to work on b3 you'll need to install prerequisites described in the following paragraphs. (In the order they are presented in this document.)


The first thing you'll need is the Eclipse 3.6 IDE for your platform. Here is a pointer (if you don't get it by heart yet) to the download page:
Grab the Classic version at the very bottom and unpack the archive into a convenient path.

Git support

Git support is needed simply because the b3 sources are kept in an Git repository.


EMF is the first of dependencies of b3, to install it follow these instructions:

  • open the Help / Install New Software wizard
  • browse the EMF releases repository:
  • expand the EMF SDK 2.5.0 (EMF + XSD) category (you may experiment with later releases if available)
  • select all entries in the expanded category which names start with EMF, except EMF/XSD All-In-One SDK (you may also omit Examples)
  • click through the other pages of the install wizard to finish the installation

Ecore Tools

(Installing and using Ecore Tools from Helios (not that is released) should probably work fine, but not yet tested).

B3 works without this, but the tools include, among others, graphical editors for certain b3 language definitions which would otherwise have to be edited in plain text, which would be a pain. Installation instructions follow:

  • open the Help / Install New Software wizard
  • browse the EMFT releases repository:
  • expand the EMFT ECORETOOLS SDK (Incubation) 0.9.0 category (you may experiment with later releases if available)
    Subject to change now that 3.6M7 is just about to be available
  • select all entries in the expanded category, except Ecore Tools All-In-One Feature (Incubation) (you may also omit Examples)
  • click through the other pages of the install wizard to finish the installation


Xtext is the next dependency of b3. Installation instructions follow:

Before Helios and Xtext release 1.0 it was required to use particular versions. Here are the older instructions for milestones and nightly builds:

  • browse the Xtext milestones repository (latest release won't do as of writing of this document):
  • select entire following categories:
    • tmf-xtext use version 1.0 M6 or later (see below)
    • xtext-antlr use version 1.0 M6 or later (see below)
  • click through the other pages of the install wizard to finish the installation (you will need to acknowledge installation of unsigned software as some of the installed components are not signed)

The Xtext completes the installations so please restart the workbench as recommended this time!

If you are running on a 64 bit machine, a build after 20100503 will be required (soon) as there are pending changes that will cause "static intitializer exceeds size limit" errors otherwise. You can get nightly builds at

Preparing The Workspace

In order to keep the code clean and to avoid merge problems, b3 projects should be organized with unified code style and formatting rules. Unfortunately not all the settings are available as project specific. This is why a workspace template should be used before any source code is checked out. Follow the steps below to initialize your workspace properly:

  • download the b3 workspace template archive
  • create an empty folder for the new workspace
  • extract the template archive into that folder
  • start Eclipse IDE using the new workspace
  • refresh the initial project (select the project and press F5)
  • follow the steps described in the README.txt file (which is initially opened in the Eclipse IDE text editor)

Getting The Source Code

B3 source code is kept in the Eclipse SVN repository. There are two ways to access the repository:

choose whichever is appropriate for you.

To get the b3 sources, follow these instructions:

  • run Eclipse, open the SVN Repository Exploring perspective
  • add the chosen repository to the the list of SVN repositories (which should be empty at this time)
  • expand the repository node, then expand the trunk node
  • checkout the projects listed below from trunk as projects into your workspace
    • org.eclipse.b3 [ .backend.*, .beelang.*, .build, .core ]


Running It

Once you have all the b3 projects in your workspace you are ready to launch a b3 enabled workbench. You do it like this:

  • bring up the Run / Run Configurations... dialog
  • create a new Eclipse Application launch configuration (or use the /org.eclipse.b3.beelang.tests/B3InteractiveTest.launch in the beelang.tests project mentioned below)
  • rename it to something suitable, like B3
  • launch it

A new workbench should start, perform the following actions in the new workbench:

  • checkout the following project:
  • switch to the Package Explorer view and open the /src-b3/smoketestFunctionArithmetic.b3 file in the checked out project
    • the file should open in an editor supporting syntax highlighting
    • there should be an outline view with a root node of BeeModel
  • right click the BeeModel node in the outline view a select the Run Main Function option
    • a console window with the following content should show up:
      Running the main function...
      Result = true

Congratulations, you have just executed your first b3 code!

Running b3 JUnit tests

B3 has a JUnit runner that runs b3 scripts as JUnit tests. There are many tests written in b3. There is a launch configuration for running the tests - it is found here /org.eclipse.b3.beelang.tests/AllB3Tests - headless.launch - simply use this launch configuration to get the correct configuration.

At the time this instruction was updated there are three outstanding failures in the test (for which there are bugzillas logged) - one failure because repository syntax has changed and impl is not yet working, and two are related to b3's java integration.

Back to the top