Skip to content
mkalam-alami edited this page Jun 29, 2012 · 16 revisions

Summary

  1. Building and packaging EasySOA
  2. Prerequisites
  3. Build and run
  4. Build and package release
  5. Buildr task list
  6. Release process
  7. Github repository
  8. Archive construction & deployment
  9. Post-release changes

Building and packaging EasySOA

Prerequisites

Instructions to setup these applications (including Git) are detailed on this page. In short, you will need:

  • Sun's 1.6 Java JDK
  • Maven 2
  • Buildr
  • Nuxeo DM 5.5 (with Derby as a database, which is set by default)
  • node.js

Please note that for now, it only works on Linux. It might work on Windows with Cygwin, but it has not been tested at the moment.

Build and run

After having the EasySOA repository cloned, copy the easysoa-distribution/build.yaml configuration file to ~/.buildr/settings.yaml and edit it at will (make sure the Nuxeo and node paths are valid), then run the following command from the easysoa-distribution folder:

buildr buildall packageall test=no

To launch EasySOA, type these commands:

cd easysoa
./run.sh

Build and package release

The set up is the same as above, but instead run the following command, from the easysoa-distribution folder:

buildr buildall packageall tgz test=no

Buildr task list

Global tasks

  • buildr buildall builds all needed projects
  • buildr packageall creates an EasySOA folder including all components
  • buildr tgz creates a zip from the EasySOA package

Options

  • test=no Skip all Maven tests
  • offline=yes Run the Maven tasks offline (faster if everything is in your local repository already)

Specific tasks

This help is available from the command line, by typing buildr help.

buildall                       # Builds all needed projects
nx_clean                       # Cleans all registry components
nx_dist                        # Deploys registry components
nx_mvn                         # Builds registry components using Maven
packageall                     # Creates the EasySOA package
paf                            # Builds PAF CXF server
proxy                          # Builds the Esper & Light proxies
release                        # Make a release
tgz                            # Creates the EasySOA package
travel                         # Builds the Smart Travel demo and its backup services

Release process

1. Github repository

  • Make sure all issues are either closed or postponed to another milestone
  • Make sure the wiki is up-to-date
  • Use git tag easysoa-[demo-]XXX to tag the last release commit, and push it with git push origin --tags

2. Archive construction & deployment

  • Package EasySOA with buildr buildall packageall tgz test=no
  • Upload the archive to EasySOA.org
  • Update the "Download" page, then make a release post ("Release" category)

3. Post-release changes

  • Use the updateVersion.sh script from easysoa-distribution/ to update all of the POMs to the next version number
  • Update manually the .sh and .bat scripts, and the default "build.yaml" file
Clone this wiki locally