Building Alitheia Core

The Alitheia Core code base has been recently converted to build with Apache Maven. This fact has simplified building on different platforms while actually producing a system build is now a matter of connecting to the Internet and executing the following command:

mvn install

The command above will compile the Alitheia Core source code and plug-ins and will also download the Equinox OSGi runtime environment locally. The build system supports most Maven lifecycle commands. See the Maven documentation for details.

Working with Eclipse

Eclipse is the preferred development environment to work on Alitheia Core. The following instructions have been tested and confirmed working with Eclipse Ganymede (3.5) on Linux and MacOSX.

    git://github.com/gousiosg/Alitheia-Core.git

  • Execute the following commands

    mvn clean install
    mvn eclipse:eclipse -DdownloadJavadocs=true -DdownloadSources=true
    mvn eclipse:clean

The commands above will download sources and Javadocs for some (in fact several) of the external libraries used by Alitheia Core. It will however create eclipse configuration files that will treat each project module as an OSGi plug-in (which will enable such support in eclipse, slowing it down significantly). The last command takes care of this.

  • In Eclipse, choose Import->General->Maven projects. In the next dialogue, you enter the checkout directory and a list of project modules appears. Here you should select only the modules you will be working with. This is it, you are now ready to hack!
  • To debug, you run the debug.sh script from the top-level directory. This will start Alitheia Core in debug mode; initialisation will stop until an external debug is attached. To attach the eclipse debugger, click on the Run menu->Debug configurations, then select the Remote Java Application from the list and click on the new launch configuration button. Add a name click debug. Eclipse will connect to the waiting virtual machine and will stop at any breakpoint you have set in the code.

User login

Syndicate

Syndicate content