Automated Solution-Level Builds
This page describes our plan for getting to solution-level automated (nightly) builds.
- The "top level" solution-level build scripts (one per solution) MUST run on a non-Eclipse server (because the builds must integrate many non-Higgins-redistributable libraries, tools and components). They will run on an azigo.com build server.
- These top level scripts SHOULD invoke whereever possible the nightly build scripts for whatever components can be built on the eclipse Higgins build server.
- No enhancements shall be made to the existing "home-made" Higgins build system. Any component that requires new features in our home-made build system MUST instead create a script for the <TBD> Higgins build service.
- Only if it is impossible for a particular component (or solution) to create a build script for the <TBD> Higgins build service is it ALLOWED instead use the build system on the Azigo build server (this tool has not yet been chosen).
- Top level scripts MUST pull the non-Higgins-redistributable JARs, libraries, and in some cases source code from a (new) local azigo SVN server.
- Azigo build service SHOULD pull binaries wherever possible from the Higgins download site. Only compile from source if no-such Higgins binary gets autobuilt.
- [Valery] The solution should support builds for native solutions (Windows, Linux and OSX)
- <TBD> Higgins Build Service: We have not yet decided on the tool (Buckminster, other) that we'll use on the Higgins build service. Our assumption (might be wrong) is that Buckminster is the easiest to use with the Eclipse build machines.
- We have not yet decided on the tool (Maven, CruiseControl, Buckminster, etc.) that we'll use on the Azigo build service
- The Higgins build service will continue to use the home-made build system until we can (one by one) cut over to the <TBD> build service
- It seems that we need at least 3 host OSes (Mac, Win, Linux) in order to build all components. Win and Linux may be installed as guest OSes into VirtualBox, but MacOS can't. Sot it may make sense to use a Mac server with 2 (or more) VMs