Set up your development environment

Simon Templer edited this page Jun 30, 2016 · 2 revisions


To compile HALE the Java Development Kit (JDK) version 8 or later is needed.
Windows users can get it here.


HALE is based on Equinox and Eclipse and also uses Eclipse as its IDE.
For the development at least Eclipse Mars (4.5) is recommended.
Eclipse can be downloaded here.

Required plugins

Eclipse plugins required for compiling and running HALE.

  • Groovy-Eclipse (make sure to install the optional Groovy 2.3 compiler)


If not already done, (fork and) clone the HALE repository from Github.
Use FileImport…GeneralExisting Projects into Workspace to import Eclipse projects from the cloned repository into you Eclipse workspace.

The projects are grouped in the following folders:

  • build – anything related to the build process
  • platform – platform project, libraries, tools, preferences
  • commonHALE core projects (APIs, models) [No UI or server related projects]
  • uiHALE core UI projects including the application project with the product definition
  • io – Implementations of HALE I/O providers (e.g. XML/GML, XSD)
  • server – Web application/server related projects
  • ext – Optional HALE extensions, e.g. third party provided, grouped again by specific extension
  • cst – The conceptual schema transformer (CST) as transformation service implementation, Java transformation functions
  • util – Utility projects
  • legacy – Legacy projects that will be deleted step by step (because they will not be used any more in that form, the code still needed will be migrated to other projects)

Projects in the folders ui, common, server, cst, util, io must follow naming conventions in project/bundle and package names.

Target platform

The platform project contains a file This file represents the platform environment for the HALE projects. The environment is needed for the projects to be able to compile. This is how to set the defined target platform:

  1. Open the file in Eclipse.
  2. Wait until the job Resolving Target Definition is completed (otherwise you will get errors when you continue). If there are errors resolving the platform, usually just trying it again (by closing and opening the target file again) works.
  3. Select Set as Target Platform in the upper right corner of the editor.

Launch HALE

The eu.esdihumboldt.hale.ui.application project contains a file HALE.product which is the product definition of HALE. Open the file in Eclipse and select Launch an Eclipse application in the editor (either on the page Overview or in the toolbar in the upper right corner of the editor).