Esper Release Instructions

Esper release

The steps to perform a new release are:

Run code quality tools

The project standard requires the following tools to pass before a release:

Findbugs

Findbugs is a separate download that comes with it's own GUI. In the GUI import the Esper source code and dependencies, and run an analysis. Analyze the findings and prioritize the required fixes. Not all reported warnings are relevant, and many are origined in ANTLR generated source code. Use judgement.

IntelliJ IDEA

We have free licenses to IntelliJ IDEA and their code analysis tools is also very good and, of course, integrated with the IDE.

  • Run IDE Default profile over the Esper module. Look at the following issues: bitwise ops, class structure, code style, error handling, performance, threading, probable bugs; Some too-fine grained categories are usually: control flow, data flow, declaration redundance (module doesn't see extension points).
  • Create/Run the "JavaDoc" profile for checking java docs only (see "general" section of checkboxes).

Change version in

  • esper/pom.xml
  • esper/build.xml
  • esper/doc/reference/en/master.xml (releaseinfo element)
  • esper/src/site/site.xml
  • examples/pom.xml (2 places)
  • examples/etc/setenv.bat and setenv.sh

search for further reference to old version number via text file searcher

Make sure all code is checked into Subversion repository, all JavaDocs generate, perform a backup (optional, such as via "ant source_zip")

Touch all files so the timestamp shows current time


ant touch_all




Review changelog.txt in root dir

Clean Maven cache - this helps make sure all references to older jar file cause an error if used

Remove jar files from C:\Documents and Settings\<NAME>\.m2\repository\esper\esper

Build, test and install


cd esper
mvn clean install
// On some VMs there is a Maven-ANTLR problem: "error(3):  cannot find tokens file" due to a build order problem, consult the web site build instructions to fix

cd esperio
mvn clean install
cd examples
mvn clean test
cd examples/terminalsvc
mvn clean install

move esper/target/esper-XXX.jar file to top dir
move esperio/target/esperio-XXX.jar file to top dir

JavaDoc


cd esper; ant javadoc
cd esperio; ant javadoc

//copy to site




Manual

generate PDF

cd esper\doc\reference
ant
cd esperio\doc\reference
ant

// copy to site

Site release

  • Update site content in src/site
  • News (about\news\news.apt)
  • History (about\history\history.apt)
  • Version links to the new documentation (using\documentation\documentation.apt)
    *. Generate and release site
    mvn site
  • add google analytics to download.html manually, see snipped in site folder
  • copy to release dir
  • copy download.html for articles that require the old link to evaluation/download/download.html

Distribution release

  • Create distribution zip: "ant dist_zip" and "ant dist_tar"
  • copy to distribution dir
  • "ant source_zip", copy src zips to distribution dir

Maven repository deployment

Test Release

  • web site updated?
  • doc links on web site
  • distribution available, download, unpack

JIRA Management

  • Close all resolved JIRA
  • Admin project release package

Announce

  • Let team know via user and dev mailing lists
  • Place announcement in CEP forum group
  • Upload new esper-configuration.xsd to ET site, update download.php and news.php and index.php on site
  • Place SVN tag for current release

Labels

 
(None)