UI-Component Sets

Bootstrap build

The following instructions are for the setup and usage of the bootstrap.xml build file. This file is an Ant script which can be used to generate and publish the nightly builds using the latest SVN code. It is also used to build and sign the release builds. Finally, this file is used to automatically generate the website using the latest xdocs, javadoc and tlddoc from SVN.

  • Install Ant. Make sure the ant binary is part of the $PATH.
  • Download the jsch.jar from jcraft and copy to $ANT_HOME/lib. This is necessary to allow scp to the destination server.
  • Download the jsvn.jar from alternatecomputing.com and copy to $ANT_HOME/lib. This is necessary to allow ant to use SVN to retrieve the source code.
  • Install SVN. Make sure the svn binary is part of the $PATH.
  • Create a directory for creating the nightly/release builds.
  • Copy the bootstrap.xml file and bootstrap.properties files to this directory. These files should work without any changes. Currently these files are located in the SVN repository in the build directory. Copy the bootstrap.properties.local.sample file to this directory as well. Rename this file to bootstrap.properties.local. Change the username and password in this file to a valid username and password for the destination server.
  • You can perform the nightly build manually from the command line using:
    ant -buildfile bootstrap.xml clean nightly
  • You can perform the release build manually from the command line using:
    ant -buildfile bootstrap.xml -Dbuild.version=1_0_9 clean nightly

    NOTE

    The release target requires that the source be tagged as rel_x where build.version = x. You should also update the manifest.properties in the build directory before checking out. The value of manifest.impl.version will be used in the bundle filenames. (Ex. manifest.impl.version=1.0.9 yields a filename of myfaces-1.0.9.tgz)
  • A cron job similar to the following should be used on the destination server to purge files older than five days
    03 04 * * * find /www/people.apache.org/builds/myfaces/nightly -mtime +5 -exec rm {\} \; >/dev/null 2>&1
  • A cron job also needs to be added to the machine performing the nightly build
    00 23 * * * ant -buildfile /home/sjs4/bootstrap/bootstrap.xml -logger org.apache.tools.ant.listener.MailLogger -quiet clean nightly >/dev/null 2>&1
  • A cron job also needs to be added to the machine performing the preiodic website build
    45 0-23/4 * * * ant -buildfile /home/sjs4/bootstrap/bootstrap.xml -logger org.apache.tools.ant.listener.MailLogger clean publish-site >/dev/null
  • A cron job is also needed on the desitnation server to make sure the website is updated from SVN
    15 * * * * /home/schof/site-update.sh >/dev/null