wiki:BuildSystem

Version 3 (modified by dennisr, 8 years ago) (diff)

--

The ANT based build system

Starting point

We assume that you already have the sources and the release libaries, inthe following directory structure:

<svnroot>/HmiShared/ant
<svnroot>/HmiShared/docs
<svnroot>/HmiShared/repository
...etc
<svnroot>/HmiDemo/MyFirstProject
<svnroot>/HmiDemo/HmiAnimationDemo
...etc

And, if you checked out the source release:

<svnroot>/Hmi/HmiBml
<svnroot>/Hmi/HmiAnimation
....etc

Goal of the build system

The modules in Elckerlyc are dependent on many external and internal libraries, sometimes in different versions. Furthermore, each machine (32bit, 64bit, mac, windows, linux) may require its own version of a specific library. The build system was created to:

  • collect all dependent external libraries, and all internal releases, in a structured repository that allows to keep track of versions and dependencies
  • allow one to resolve, from this structured repository, exactly those versions of dependent libraries that are required for your project, on your machine and your operating system
  • make it easy to release new versions of our own modules
  • make it easy to use, in module A, the current latest compile of module B, instead of the released version of module B

Quickstart

In command prompt the module directory:

  • ant resolve to collect all dependent released and external libraries in the lib directory
  • ant compilelist to compile dependent modules
  • ant ca to collect the newest compiled versions in the lib directory
  • ant run to compile and run the project

Specify dependent libraries in ivy.xml; specify compile-dependent modules in build.properties using the rebuild.list property

More

Detailed explanation of the build system is still being written. For specific questions, ask below.

Discussion

BuildSystem
 unsolved

Reply here to give additional information or ask questions.