Skip to main content
Jump to: navigation, search

SMILA/Documentation/HowTo/Howto set up dev environment

< SMILA‎ | Documentation‎ | HowTo
Revision as of 06:00, 30 January 2009 by (Talk | contribs) (Setting Build Properties)

Howto set up dev environment

dev env

Howto build and test locally

Setup an Eclipse instance/installation for building

Setting up an own instance is recommended so that no extensions/features u might have installed in ur eclipse instance u use for developing interferes with the build. It probably also makes the build a little faster as the headless start of eclipse takes less time due to fewer plug-ins installed.

  1. Download an eclipse SDK, starting with at least
  2. download from [1]
  3. unzip the archive and copy org.eclipse.equinox.executable_<version> from features into your features folder under your eclipse installation.
  4. start that eclipse and add sole extension location to WC /SMILA.extension by:
    1. Menu: Help / Software Updates / Manage configuration
    2. add extension location and choose the folder SMILA.extension/eclipse from smila project folder

Configuring the Build

The folder SMILA.builder contains everything needed to build SMILA and/or run all tests locally.

Whether u build from command line or from eclipse, in both cases the make.xml ant script is executed. Before execution certain properties need to be set to meet the local setup.

Setting the Target Build Platform

Independent of which way you are going to build, in both cases you must set the configs property in the file to your setup.

# ... 
# ... 


The default is to build for both, windows and linux platforms. However, for this to work locally the eclipse must have the corresponding plugins installed which is usually not the case if you downloaded a platform specific distribution. If platform plugins are missing you will end up on Windows with:
[java] D:\Program Files\eclipse33\eclipse-SDK-3.3.2-win32-smila-build\eclipse\plugins\org.eclipse.pde.build_3.3.2.v20071019\scripts\genericTargets.xml:85: Unable to find plug-in: org.eclipse.core.filesystem.linux.x86_0.0.0. Please check the error log for more details.
Setting Build Properties
Property Default Comment
buildDirectory <SMILA_HOME>/
eclipse.home <ECLIPSE_HOME> the location of the eclipse instance used to build smila
builder <SMILA_HOME>/SMILA.builder
eclipse.running true
pdeBuildPluginVersion 3.3.2.v20071019
equinoxLauncherPluginVersion 1.0.1.R33x_v20080118
os win32 these merely control under which platform the test will run. It must be one of the target platforms you have build.
ws win32
arch x86 <JAVA_HOME> a java 1.5 SDK instance

For the build from eclipse u pass in these values via the command line text box in the launch config on the command line these are set in a shell script.

Executing the make.xml

all target graph

The default target is all. This will by default build the application and run all unit tests. The dependency graph [2] will explain what will happen and shows the relevant targets u may call instead.

Executing make.xml from within eclipse
  1. select the SMILA.builder bundle
  2. open External Tools Dialog
  3. create a new ant build configuration or choose your configuration if exists
  4. choose the build file of this bundle, e. g. ${workspace_loc:/SMILA.builder/make.xml}
  5. insert all properties from above into the arguments input field (but adapt these to your setup) but prepend each with -D so each is passed into ant as a property, e.g.
    -Dos=win32 -Dws=win32 -Darch=x86
  6. Apply, close and run SMILA.builder with this external tool configuration


To start another than the default target specify the desired target also in the argument input box.
Executing make.xml from command line

The make.bat (or .sh) is just a shell script to set the properties that are needed for the ant script.


  1. adjust all paths in \SMILA.builder\make.bat according to own setup
  2. execute make.bat

The whole process takes about 15 minutes at the time of writing, so be patient or get some java-like beverage ;)


To execute another than the default target just pass it as an argument, like so:
make build

run junit tests for osgi bundles

  • Plugin Junit Launch config
  • write config.ini and ref it from lauch config.
    tip: use \ to brake up long lines to have better overview
  • share the launch config

For further information see: Development Guidelines

Back to the top