Skip to content
mdutoo edited this page Feb 23, 2012 · 16 revisions

Release process

0. FraSCAti release

Normally the latest FraSCAti release should be used. However, custom releases may have to be built, for milestones depending on FraSCAti snapshots or to handle specific problems such as version conflicts. Here is what to do :

  • get the latest FraSCAti snapshot from SVN
  • remove frascati-bpel, because of conflict on easywsdl (uses version 3 whereas proxy-scaffolder uses 2.1). See issue https://github.com/easysoa/EasySOA/issues/50
  • build a FraSCAti release

FraSCAti build FAQ

  • problems compiling frascati (such as blocks on downloading maven dependency tree) : frascati has some (non critical) compatibility issues with Maven 3, use the latest Maven 2.x instead
  • OBSOLETE FraSCAti dependencies are proxied in its own Nexus, see #92 some repositories (like http://www.openarchitectureware.org/m2) are very slow or down, but are directly referenced from some frascati artifacts poms : add www.openarchitectureware.org to /etc/hosts to make it resolve to 127.0.0.1 so it timeouts quickly (workaround taken from https://github.com/easysoa/EasySOA/issues/80).
  • OBSOLETE in release custom launchers don't work : in May 2011 has been patched in new release by INRIA, it is in the process of being further solved by packaging FraSCAti within Nuxeo.

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 deployment

  • Package EasySOA with buildr buildall packageall tgz
  • 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

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.4.2 (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

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

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

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
Clone this wiki locally