Skip to content

Set up your development environment

Kapil Agnihotri edited this page Jul 11, 2023 · 10 revisions

Java

To compile hale studio the Java Development Kit (JDK) version 17 is needed.
Users can get the JDK here.

Eclipse

Hale studio is based on Equinox and Eclipse and also uses Eclipse as its IDE.
The current development version uses Eclipse 2020-03 (4.15) as its base. However, it is required to use newer versions for development, since 2020-03 does not support Java 17 for development.

Eclipse can be downloaded here.
Eclipse 2022-06 (4.24.0) in particular which supports Java 17 can be found here.
We recommend using the “Eclipse IDE for RCP and RAP Developers” package.

Required plugins

Eclipse plugins required for compiling and running hale.

  • Groovy-Eclipse (make sure to install the sometimes optional Groovy 2.5.18 compiler and activate it in the preferences)
    • Please note that recent versions of Groovy Eclipse no longer support Groovy 2.5, so you need to use older Groovy Eclipse releases.
      • You can find the update site for Eclipse 2022-06 (4.24.0) here (to be used in the “Install new software…” dialog in Eclipse)

Projects

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

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 hale-platform.target. 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 studio

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).