Skip to content

Building and distributing

vladdu edited this page Feb 22, 2011 · 4 revisions

TODO:
* describe update_versions.erl
* describe build server setup (jobs)

Update sites

There are three update sites:

  • http://erlide.org/update : contains all stable releases
  • http://erlide.org/update_beta : contains the release the will be promoted to stable once it passes acceptance tests. May be broken at times, but not for long.
  • http://erlide.org/update_nightly : contains the latest and greatest, but untested code. Use it at your own risk.

Building Erlide

Building is done using Buckminster. Building with Buckminster has the great advantage that the build is done inside a regular Eclipse workspace, with the regular builders for that project. Using regular PDE builds requires custom Ant callbacks in order to call anything else than the Java compiler, but we don’t provide these anymore as they are difficult to maintain.

You must install Buckminster and SWTBot in your workspace and in the target workspace (if not the same).

For headless builds, the org.erlide.site project contains all the necessary scripts and more detailed information.

For building from inside Eclipse, right-click on org.erlide.site and choose Buckminster→Invoke action… In the dialog, specify org.erlide.site/buckminster.properties as properties file and select site.p2 as action. [Note: this menu seems to be present in Eclipse 3.6 only…]

You must have an Erlang runtime called “R13B” configured on “Window→Erlang→Installed runtimes”. If not, you will encounter “inconsistent project IDE backend is not created – check configuration!”. If you have added the runtime after you have seen the error you must do a buckmister.clean

Automatic builds

We have a Jenkins server set up to do automatic builds, at http://ci.erlide.org. Here we will run automated tests and stable releases can be published to the official update sites from here too.

Dependent projects

Projects that depend on erlide can be built any way they like, but there are some things that might be useful to know:

  • if the project contains Erlang code, it needs to be built either with custom Ant callbacks, or with Buckminster. Otherwise the compiled Erlang code is not rebuilt and older versions may be included in the result.

Clone this wiki locally