Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Eclipse b3/contributing/Setting Up Development Environment

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.

  • open the Help / Install New Software wizard
  • browse the Indigo repository
  • expand the Collaboration category
  • select the Eclipse EGit and Eclipse JGit entries
  • click through the other pages of the install wizard to finish the installation


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

  • open the Help / Install New Software wizard
  • browse the Indigo repository
  • expand the Modeling category
  • select the 'Ecore Tools SDK
  • select the EMF - Eclipse Modeling Framework SDK
  • 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 b3.git repository.

To get the b3 sources, follow these instructions:

  • run Eclipse, open the File -> Import wizard
  • Select Git -> Projects from Git and click Next
  • Click Clone...
  • Enter the URI git:// and click Next
  • Verify that the master branch is checked and click Next
  • Select Import Existing Projects and click Next
  • Check the projects listed below and click Finish
    • 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